King555
Enthusiast
Thread Starter
- Mitglied seit
- 27.03.2012
- Beiträge
- 299
Hallo,
ich schreibe grad ein Kassenbuch in PHP.
Dabei gibt es ein Formular "Buchung" bei dem man Buchungen eintragen kann. Bei welchem User die Buchung getätigt wird, kann man über eine Mehrfachauswahl(die aus der Datenbank Spalte "namen")
Wenn ich jetzt aber bei der Mehrfachauswahl z.b. 3 Leute anklicke und das ausgefühlte Formular abschicke, schreibt mir PHP alle angeklickten User als eine Buchung in die Datenbank Tabelle. Sprich alle Username werden in die Spalte "namen" eingetragen.
Wie bekomm ich es hin das für jeden angeklickten User ein eigener Datensatz produziert wird und dann in die Datenbank geschrieben.
Hier mal der Code mit dem ich das Realesiere.
ich schreibe grad ein Kassenbuch in PHP.
Dabei gibt es ein Formular "Buchung" bei dem man Buchungen eintragen kann. Bei welchem User die Buchung getätigt wird, kann man über eine Mehrfachauswahl(die aus der Datenbank Spalte "namen")
Wenn ich jetzt aber bei der Mehrfachauswahl z.b. 3 Leute anklicke und das ausgefühlte Formular abschicke, schreibt mir PHP alle angeklickten User als eine Buchung in die Datenbank Tabelle. Sprich alle Username werden in die Spalte "namen" eingetragen.
Wie bekomm ich es hin das für jeden angeklickten User ein eigener Datensatz produziert wird und dann in die Datenbank geschrieben.
Hier mal der Code mit dem ich das Realesiere.
PHP:
<?php
require_once ('konfiguration.php');
// PHP Fehlermeldungen anzeigen
error_reporting(E_ALL);
// Weiterleitung - Nach dem absenden des Formulars,
// gelangt der Benutzer über einen Link auf folgende Seite:
$Weiterleitung = "index.php";
$bewohner = isset($_POST["bewohner"]) ? implode(", ", $_POST["bewohner"]) : ""; // Bewohner
// Mehrfachauswahlliste "Bewohner" aus Datenbank lesen
$abfrage = "SELECT id,vorname FROM bewohner;";
$result = mysql_query($abfrage);
$num = mysql_num_rows($result);
while($row = mysql_fetch_array($result)) {
$empfang[] = $row['vorname'];
}
$bewohnerAW = "<select name='bewohner[]' size='9' multiple='multiple'>";
foreach ($empfang as $element) {
!empty($_POST["bewohner"]) ?
$bewohnerAW .= in_array($element, $_POST["bewohner"]) ?
"\n <option value='" . $element . "' selected='selected'>" . $element . "</option>" :
"\n <option value='" . $element . "'>" . $element . "</option>" :
$bewohnerAW .= "\n <option value='" . $element . "'>" . $element . "</option>";
}
$bewohnerAW .= "\n </select>";
$verwendungszweck = isset($_POST["verwendungszweck"]) ? $_POST["verwendungszweck"] : ""; // Verwendungszweck
$einzahlung = isset($_POST["einzahlung"]) ? $_POST["einzahlung"] : ""; // Einzahlung
$abbuchung = isset($_POST["abbuchung"]) ? $_POST["abbuchung"] : ""; // Abbuchung
// Formular erstellen
$Formular = "
<form action='" . $_SERVER["SCRIPT_NAME"] . "' method='post'>
<p>
<label> <img src='img/bew.png' width='24' height='24' />Bewohner:
" . $bewohnerAW . "
</label>
</p>
<p>
<label> <img src='img/edit.png' width='24' height='24' />Verwendungszweck:
<input type='text' name='verwendungszweck' value='" . $verwendungszweck . "' size='35'>
</label>
</p>
<p>
<label> <img src='img/up.png' width='24' height='24' />Einzahlung:
<input type='text' name='einzahlung' value='" . $einzahlung . "' size='35'>
</label>
</p>
<p>
<label> <img src='img/down.png' width='24' height='24' /> Abbuchung:
<input type='text' name='abbuchung' value='" . $abbuchung . "' size='35'>
</label>
</p>
<p>
<br>
<input type='submit' name='submit' value='Speichern'>
</p>
</form>
";
// Formular abgesendet
if (isset($_POST["submit"])) {
$einzahlung = str_replace(",",".", $einzahlung);
$abbuchung = str_replace(",",".", $abbuchung);
// Daten eintragen
if (mysql_query("INSERT INTO `buchungen`
SET
`bewohner` = '" . mysql_real_escape_string($bewohner) . "',
`verwendungszweck` = '" . mysql_real_escape_string($verwendungszweck) . "',
`einzahlung` = '" . mysql_real_escape_string($einzahlung) . "',
`abbuchung` = '" . mysql_real_escape_string($abbuchung) . "'
")) {
echo "<p>Die Daten wurden eingetragen.</p>";
}
else {
echo "<p>Fehler beim eintragen der Daten!</p>";
}
// Weiterleitung
echo "<p><a href='" . $Weiterleitung . "' target='_top'>Weiter</a></p>";
}
else {
// Formular ausgeben
echo $Formular;
}
?>