profil.php mit abfrage und join von angbot und nachfrage erstellt. db value typen etwas eingeschränkt. nav.php ergänzt und die Angebot abgabe fertig gemacht.

This commit is contained in:
Ivan Hörler 2017-03-01 21:01:19 +01:00
parent 8c6777a48a
commit 9a01011829
6 changed files with 133 additions and 23 deletions

View File

@ -12,8 +12,36 @@
$userRow=$stmt->fetch(PDO::FETCH_ASSOC); $userRow=$stmt->fetch(PDO::FETCH_ASSOC);
// Einlesen des Angebots-Feld:
if (isset($_POST['submit'])) {
$angebot = $_POST['submitname_angebot'];
$erfassung_id = $_POST['submitname_erfassungs_id'];
//abfangen von falschen oder zu wehnig informationen.
if($angebot=="") {
$error[] = "du musst einen Preis für dein Angebot angeben!";
} else if(strlen($angebot) > 9){
$error[] = "Dein Preis sollte maximal 7 Stellen und 2 Nachkomastellen haben.";
} else {
try{
$stmt = $db->prepare("INSERT INTO anbieter (benutzer_id, erfassungs_id, angebot_preis) VALUES (:benutzer_id, :erfassung_id, :angebot_preis)");
$stmt->bindValue(':benutzer_id',$user_id);
$stmt->bindValue(':erfassung_id',$erfassung_id);
$stmt->bindValue(':angebot_preis',$angebot);
$stmt->execute();
/*** close the database connection ***/
//$db = null;
} catch(PDOException $e) {
echo $e->getMessage();
}
$error[] = "Dein Angebot von Fr. $angebot wurde dem Nachfrager unterbreitet. Er wird das Angebot prüfen. Bei einer Annahme werden Sie eine E-Mail erhalten.";
}
}
//ID auslesen, welche vom Link mittels GET mitgegeben wurde //ID auslesen, welche vom Link mittels GET mitgegeben wurde
$id=$_GET['id'] if (isset($_GET['id'])) {
$erfassung_id=$_GET['id'];
}
?> ?>
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
@ -27,7 +55,7 @@
<h1>Angebot abgeben:</h1> <h1>Angebot abgeben:</h1>
<p>Sie können zum gewählten Objekt nun ein Angebot abgeben.<br/> <p>Sie können zum gewählten Objekt nun ein Angebot abgeben.<br/>
Bitte seien Sie sich bewusst dass der Nachfrager auf das Lieferdatum Bitte seien Sie sich bewusst dass der Nachfrager auf das Lieferdatum
zählen wird. <?php echo $id ?> zählen wird.
</p> </p>
<div class="inhalt"> <div class="inhalt">
<table class="table"> <table class="table">
@ -38,26 +66,52 @@
<th>Qualität</th> <th>Qualität</th>
<th>Lieferdatum</th> <th>Lieferdatum</th>
<?php <?php
foreach ($db->query("SELECT * FROM nachfrager WHERE erfassungs_id = $id") as $row) { foreach ($db->query("SELECT * FROM nachfrager WHERE erfassungs_id = $erfassung_id") as $row) {
echo echo
"<tr>" . "<tr>" .
"<td>" . substr(htmlentities($row['nachfr_datum']),0,10) . "&nbsp;" . "</td>" . "<td>" . substr(htmlentities($row['nachfr_datum']),0,10) . "&nbsp;" .
"<td>" . htmlentities($row['nachfr_typ']) . "&nbsp;" . "</td>" . "</td>" .
"<td>" . htmlentities($row['nachfr_menge']) . "&nbsp;" . "</td>" . "<td>" . htmlentities($row['nachfr_typ']) . "&nbsp;" .
"<td>" . htmlentities($row['nachfr_quali']) . "&nbsp;" . "</td>" . "</td>" .
"<td>" . htmlentities($row['nachfr_menge']) . "&nbsp;" .
"</td>" .
"<td>" . htmlentities($row['nachfr_quali']) . "&nbsp;" .
"</td>" .
"<td>" . htmlentities($row['nachfr_lieferdatum']) . "&nbsp;" . "<td>" . htmlentities($row['nachfr_lieferdatum']) . "&nbsp;" .
"</td>" . "</td>" .
"</tr>" . "</tr>" .
"<tr>" . "<tr>" .
"<td colspan='5' class='titel'>" . "Beschreibung:" . "<td colspan='5' class='titel'>" . "Beschreibung:" . "</td>" .
"</td>" .
"</tr>" . "</tr>" .
"<tr>" . "<tr>" .
"<td colspan='5' class='beschreibung'>" . htmlentities($row['nachfr_beschr']) . "</td>" . "<td colspan='5' class='beschreibung'>" . htmlentities($row['nachfr_beschr']) . "</td>" .
"</tr>"; "</tr>";
} }
?> ?>
</table> </table>
<form method="post" action="<?= $_SERVER['PHP_SELF'] ?>">
<h5>Angebot in Fr.:</h5>
<div>
<input id="submit_angebot "type="float" name="submitname_angebot" value="" placeholder="zum beispiel: 1000.00"/>
<!-- ich übermittle hier versteckt die Erfassungs ID
damit die Zeile beim wiederaufruf auch angezeigt
wird. -->
<input id="submit_erfassungs_id" type="hidden" name = "submitname_erfassungs_id" value = "<?= $erfassung_id ?>" />
</div>
<div>
<input class="btn" type="submit" name="submit" value="Angebot abgeben"/>
</div>
<br />
<div id="error">
<?php
if(isset($error)){
foreach($error as $error){
echo $error;
}
}
?>
</div>
</form>
</div> </div>
</body> </body>
</html> </html>

View File

@ -30,8 +30,8 @@ CREATE TABLE IF NOT EXISTS `bsldb`.`benutzer` (
CREATE TABLE IF NOT EXISTS `bsldb`.`nachfrager` ( CREATE TABLE IF NOT EXISTS `bsldb`.`nachfrager` (
`erfassungs_id` int(11) NOT NULL AUTO_INCREMENT, `erfassungs_id` int(11) NOT NULL AUTO_INCREMENT,
`benutzer_id` int(11) NOT NULL, `benutzer_id` int(11) NOT NULL,
`nachfr_typ` varchar(15) NOT NULL, `nachfr_typ` varchar(35) NOT NULL,
`nachfr_quali` varchar(15) NOT NULL, `nachfr_quali` tinyint(2) NOT NULL,
`nachfr_menge` int(11) NOT NULL, `nachfr_menge` int(11) NOT NULL,
`nachfr_lieferdatum` date, `nachfr_lieferdatum` date,
`nachfr_datum` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `nachfr_datum` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
@ -43,11 +43,12 @@ CREATE TABLE IF NOT EXISTS `bsldb`.`nachfrager` (
) ; ) ;
CREATE TABLE IF NOT EXISTS `bsldb`.`anbieter` ( CREATE TABLE IF NOT EXISTS `bsldb`.`anbieter` (
`angebot_id` int(11) NOT NULL AUTO_INCREMENT, `angebot_id` int(11) NOT NULL AUTO_INCREMENT,
`benutzer_id` int(11) NOT NULL, `benutzer_id` int(11) NOT NULL,
`erfassungs_id` varchar(15) NOT NULL, `erfassungs_id` int(11) NOT NULL,
`angebot_preis` varchar(255) NOT NULL, `angebot_preis` DECIMAL(7,2) NOT NULL,
`angebot_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `angebot_datum` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`angebot_id`), PRIMARY KEY (`angebot_id`),
FOREIGN KEY (`benutzer_id`) REFERENCES benutzer(`benutzer_id`) FOREIGN KEY (`benutzer_id`) REFERENCES `benutzer` (benutzer_id),
FOREIGN KEY (`erfassungs_id`) REFERENCES `nachfrager` (erfassungs_id)
) ; ) ;

View File

@ -61,7 +61,7 @@
</div> </div>
<div class="inhalt"> <div class="inhalt">
<form method="post" action="<?= $_SERVER['PHP_SELF'] ?>"> <form method="post" action="<?= $_SERVER['PHP_SELF'] ?>">
<table class="table-unvsible" <table class="table table-unvsible"
<tr> <tr>
<td>Typ:</td> <td>Typ:</td>
<td><input type="text" name="typ" value="" placeholder="zum beispiel: Schraube "/></td> <td><input type="text" name="typ" value="" placeholder="zum beispiel: Schraube "/></td>
@ -85,8 +85,13 @@
<td></td> <td></td>
</tr> </tr>
</table> </table>
<div class="textbox"><textarea rows="10" cols="60" name="beschrieb"></textarea></div> <div id="textbox">
<span><input class="btn" type="submit" name="submit" /></span> <textarea rows="10" cols="60" name="beschrieb">
</textarea>
</div>
<span>
<input class="btn" type="submit" name="submit" value="Nachfrage erstellen" />
</span>
<span id="error"> <span id="error">
<?php <?php
if(isset($error)){ if(isset($error)){

View File

@ -19,6 +19,13 @@
<span class="menu"> <span class="menu">
</span> erfassen </span> erfassen
</a> </a>
</label>
&nbsp;
<label>
<a href="profile.php">
<span class="menu">
</span> profile
</a>
</label> </label>
&nbsp; &nbsp;
<label> <label>

View File

@ -23,6 +23,39 @@
<body> <body>
<?php include 'nav.php';?> <?php include 'nav.php';?>
<h1>Benutzerprofil</h1> <h1>Benutzerprofil</h1>
<p>Passwortänderung:</p> <div class="inhalt">
<table class="table">
<caption>Deine Nachfragen:</caption>
<th>Eintrag</th>
<th>Typ</th>
<th>Menge</th>
<th>Qualität</th>
<th>Lieferdatum</th>
<th>Günstigstes Angebot</th>
<?php
foreach ($db->query("SELECT * FROM nachfrager
LEFT JOIN anbieter
ON nachfrager.erfassungs_id = anbieter.erfassungs_id
WHERE nachfrager.benutzer_id = $user_id") as $row) {
echo
"<tr>" .
"<td>" . substr(htmlentities($row['nachfr_datum']),0,10) . "&nbsp;" . "</td>" .
"<td>" . htmlentities($row['nachfr_typ']) . "&nbsp;" . "</td>" .
"<td>" . htmlentities($row['nachfr_menge']) . "&nbsp;" . "</td>" .
"<td>" . htmlentities($row['nachfr_quali']) . "&nbsp;" . "</td>" .
"<td>" . htmlentities($row['nachfr_lieferdatum']) . "&nbsp;" . "</td>" .
"<td>"; if (!empty(htmlentities($row['angebot_preis'])))
{echo
"Fr. " . htmlentities($row['angebot_preis']) . "&nbsp;" . "</td>";
}else{echo
"k. Angeb. bisher" . "&nbsp;" . "</td>";
}
echo
"</tr>";
}
?>
</table>
</div>
</body> </body>
</html> </html>

View File

@ -86,7 +86,7 @@ caption{
position: fixed; position: fixed;
top: 20; top: 20;
left: 20; left: 20;
// width: 100%; width: 100%;
border-spacing: 0px; border-spacing: 0px;
text-align: left; text-align: left;
max-width: 800px; max-width: 800px;
@ -133,3 +133,13 @@ div > .eingabe{
table-layout:fixed; table-layout:fixed;
word-wrap:break-word; word-wrap:break-word;
} }
.table-unvsible{
}
#textbox{
width:730px;
}
caption{
padding: 15px 0px 15px 0px;
font-size: 24px;
}