CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
17.05.2006, 16:00:08
|
Anfänger
|
|
Registriert seit: May 2006
Beiträge: 5
|
|
Mehrzeilige Tabelle in Mysql db schreiben
Hallo alle zusammen,
ich bin neu hier und noch nicht sehr fit in PHP und MYSQL.
Mein Problem ist das ich ein mehrzeiliges Bestellformular erstellen möchte welches ich dann in einer db speichern möchte. Die erste Zeile der Tabelle zu speichern ist kein Problem aber ich weiß nicht wie ich die 2te, 3te usw.
Zeile unter der gleichen ID bzw. zugehörig zum Namen des Absenders speichere (z.B. anz1,anz2,anz3 jeweils untereinander im Feld Anzahl)
Datei Order.php
<div font-size:75% style="margin-left:7em">
<form action="send.inc.php" method="post">
<table border="0" cellpadding="1px" cellspacing="0">
<tr>
<td style="border:1px solid #000000" align="center">Anzahl</td>
<td style="border:1px solid #000000" align="center">Artikel Nr.</td>
<td style="border:1px solid #000000" align="center">Preis</td>
</tr>
<!-- Bestellzeile 1 //-->
<tr>
<td><input name="anz1" type="text" size="3" maxlength="2" value="<?php
if (isset($_POST['anz1']) && !is_array($_POST['anz1'])) {
echo htmlspecialchars($_GET['anz1']);
}
?>"></td>
<td><input name="artnr1" type="text" size="5" maxlength="5" value="<?php
if (isset($_POST['artnr1']) && !is_array($_POST['artnr1'])) {
echo htmlspecialchars($_GET['artnr1']);
}
?>"></td>
<td><input name="price1" type="text" size="6" maxlength="3" value="<?php
if (isset($_POST['price1']) && !is_array($_POST['price1'])) {
echo htmlspecialchars($_GET['price1']);
}
?>"></td>
</tr>
<!-- Bestellzeile 2 //-->
<tr>
<td><input name="anz2" type="text" size="3" maxlength="2" value="<?php
if (isset($_POST['anz2']) && !is_array($_POST['anz2'])) {
echo htmlspecialchars($_GET['anz2']);
}
?>"></td>
<td><input name="artnr2" type="text" size="5" maxlength="5" value="<?php
if (isset($_POST['artnr2']) && !is_array($_POST['artnr2'])) {
echo htmlspecialchars($_GET['artnr2']);
}
?>"></td>
<td><input name="price2" type="text" size="6" maxlength="3" value="<?php
if (isset($_POST['price2']) && !is_array($_POST['price2'])) {
echo htmlspecialchars($_GET['price2']);
}
?>"></td>
</tr>
<!-- Bestellzeile 3 //-->
<tr>
<td><input name="anz3" type="text" size="3" maxlength="2" value="<?php
if (isset($_POST['anz3']) && !is_array($_POST['anz3'])) {
echo htmlspecialchars($_GET['anz3']);
}
?>"></td>
<td><input name="artnr3" type="text" size="5" maxlength="5" value="<?php
if (isset($_POST['artnr3']) && !is_array($_POST['artnr3'])) {
echo htmlspecialchars($_GET['artnr3']);
}
?>"></td>
<td><input name="price3" type="text" size="6" maxlength="3" value="<?php
if (isset($_POST['price3']) && !is_array($_POST['price3'])) {
echo htmlspecialchars($_GET['price3']);
}
?>"></td>
</tr>
</table>
<!-- Adressdaten //-->
<div>
<div>
<table>
<tr>
<td width="60">Name:</td>
<td>
<input type="text" name="Name" value="<?php
if (isset($_POST['Name']) && !is_array($_POST['Name'])) {
echo htmlspecialchars($_POST['Name']);
}
?>"/>
</td>
</tr>
<tr>
<td width="60">Vorname:</td>
<td>
<input type="text" name="Vorname" value="<?php
if (isset($_POST['Vorname']) && !is_array($_POST['Vorname'])) {
echo htmlspecialchars($_POST['Vorname']);
}
?>">
</td>
</tr>
<tr>
<td width="60">E-Mail:</td>
<td colspan="3">
<input type="text" name="Mail" size="40" value="<?php
if (isset($_POST['Mail']) && !is_array($_POST['Mail'])) {
echo htmlspecialchars($_POST['Mail']);
}
?>">
</td>
</tr>
<tr>
<td><input type="submit" name="submit" value="Senden" /></td>
<td><input type="reset" name="reset" value="Zurücksetzten" /></td>
</tr>
</table> </div>
</div>
</form>
</div>
-------------------------------------------------------------------------
Datei send.inc.php
<?php if (isset($_POST['submit']) && isset($_POST['Name']) && $_POST['Name'] != '' && isset($_POST['Vorname']) && $_POST['Vorname'] != '' ) {
/* Verbindung aufbauen, auswählen einer Datenbank */
$db = mysql_connect('localhost', 'root', '')
or die("Keine Verbindung möglich: " . mysql_error());
mysql_select_db("test") or die("Auswahl der Datenbank fehlgeschlagen");
/* Daten bereitstellen und an Datenbank senden */
$sql = sprintf('INSERT INTO Bestellung1(datum, zeit, Name, Vorname, Mail, Anzahl, Artikel, Preis) VALUES (\'%s\',\'%s\',\'%s\',\'%s\',\'%s\',\'%s\',\'%s\',\'%s\')',
$date = date("Y-M-d"),
$time = date("H:i:s"),
mysql_escape_string($_POST['Name']),
mysql_escape_string($_POST['Vorname']),
mysql_escape_string($_POST['Mail']),
(int)$_POST['anz1'],
mysql_escape_string($_POST['artnr1']),
mysql_escape_string($_POST['price1']));
mysql_query($sql);
/* Verbindung zur Datenbank schließen */
mysql_close($db);
} ?>
Vielleicht hat mir jemand einen Tip oder eine Idee wie ich das realisiere
mallekalle
|
17.05.2006, 23:59:29
|
Member
|
|
Registriert seit: Feb 2006
Beiträge: 883
|
|
AW: Mehrzeilige Tabelle in Mysql db schreiben
Hi,
du wirst wohl zwei Tabellen brauchen. Eine mit den Kundendaten (Name, email usw.) und eine mit Bestelldaten (Artikel, Preis usw.).
Bei der Verarbeitung der Bestellform machst du 2 INSERT's, einmal in Kunden und einmal in Bestellung.
Die Tabellen verknüpfst du über die ID's, indem du z.B. in die Bestelltabelle eine Spalte Kunden_ID einfügst (d.h., bei den INSERT'S musst du die Kunden_ID mit in die Bestelltabelle einfügen).
Zum Auslesen verbindest du beide Tabellen mit JOIN...ON tabkunde.id = tabbestellung.kunden_id
Das ist jetzt grob der Weg. Versuch's mal und melde dich mit weiteren Fragen.
Gruß
Heinrich
|
18.05.2006, 00:27:50
|
Anfänger
|
|
Registriert seit: May 2006
Beiträge: 5
|
|
AW: Mehrzeilige Tabelle in Mysql db schreiben
Hallo Heinrich,
diese Idee hatte ich auch schon und das funktioniert auch soweit. Mein eigentliches Problem ist das ich die Bestelldaten z.b. anz1, anz2 und anz3 nicht untereinander in der Spalte Anzahl mit der gleichen ID in die MYSQL Tabelle schreiben kann.
Vielleicht etwas wirr oder nicht ganz verständlich?
z.b. unter ID1 sollte in der Spalte Anzahl die Daten anz1, anz2 und anz3 gespeichert werden.
Vielleicht habe ich auch einen denkfehler oder denke zu kompliziert ?
Möglich ist natürlich auch das ich die Tabelle jeweils um die benötigten Spalten erweitere aber ich denke das es eine komfortablere oder einfachere Lösung gibt ??
Danke
|
18.05.2006, 22:59:01
|
Member
|
|
Registriert seit: Feb 2006
Beiträge: 883
|
|
AW: Mehrzeilige Tabelle in Mysql db schreiben
Hi,
also ich würde die verschiedenen Bestellungen (auch wenn sie auf einmal erfolgen), also anz1, anz2 usw. jeweils als gesonderten Datensatz speichern (mit jeweils eigener Bestell-ID).
Beim Auslesen (für eine Rechnung, Bestätigung) kannst du sie immer noch zusammen fassen (z.B. mit GROUP BY bestelldatum o.s.ä.)
Gruß
heinrich
|
19.05.2006, 09:50:50
|
Anfänger
|
|
Registriert seit: May 2006
Beiträge: 5
|
|
AW: Mehrzeilige Tabelle in Mysql db schreiben
Hallo,
habe mir gestern nochmal etwas Gedanken gemacht und ein wenig probiert. Denke ich werde das ganze mit Registrierung und Login über Kundennummer gestalten.
Danke nochmals
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 13:37:50 Uhr.
|