Speichern in MYSQL mit PHP Variablen
Ich hab eine dynamische Anzahl Post-Parameter. Diese hole ich mir so:
Das klappt auch wunderbar. Jetzt will ich das aber alles in die SQL Bank speichern.
Dafür brauch ich in etwa auch wieder eine Schleife, da die Anzahl ja dynamisch ist.
das hatte ich so vorgehabt:
Das würde auch klappen. Aber da er ja den ganzen Befehl wiederholt, benutzt er in der SQL Bank immer wieder eine neue Spalte und ich bekomme wieder immer eine neue ID.
Ich bräuchte es so, das er nur das "(name$count)" und "('${"name".$count}')" wiederholt, und nur einmal dann in die Bank schreibt, also den ganzen Befehl nur einmal benutzt.
Hat jemmand eine Idee, wie ich das hinbekomme?
Danke für jede Hilfe
$count=1;
$zahl=$_GET["zahl"];
while ($count!=$zahl)
{
${"name".$count} = $_POST["name$count"];
$count++;
}
Das klappt auch wunderbar. Jetzt will ich das aber alles in die SQL Bank speichern.
Dafür brauch ich in etwa auch wieder eine Schleife, da die Anzahl ja dynamisch ist.
das hatte ich so vorgehabt:
$count=1;
$zahl=$_GET["zahl"];
$sqlsave="INSERT INTO markprogramdata2 (name$count) VALUE ('${"name".$count}')";
mysql_query($sqlsave) or die (mysql_error());
$count++;
Das würde auch klappen. Aber da er ja den ganzen Befehl wiederholt, benutzt er in der SQL Bank immer wieder eine neue Spalte und ich bekomme wieder immer eine neue ID.
Ich bräuchte es so, das er nur das "(name$count)" und "('${"name".$count}')" wiederholt, und nur einmal dann in die Bank schreibt, also den ganzen Befehl nur einmal benutzt.
Hat jemmand eine Idee, wie ich das hinbekomme?
Danke für jede Hilfe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 93157
Url: https://administrator.de/contentid/93157
Ausgedruckt am: 25.11.2024 um 05:11 Uhr
7 Kommentare
Neuester Kommentar
Beispiel für's "zählbare" POSTEN:
Hilft das weiter? Wenn nicht, dann bitte das Formular posten
<!-- eingabe.html -->
<form action="action.php" method="post">
<p>Name 1:<br><input name="name" type="text" size="30" maxlength="30"></p>
<p>Name 2:<br><input name="name" type="text" size="30" maxlength="30"></p>
<input type="submit" value="ok">
</form>
// action.php
<?
echo count($_POST['name']);
echo '<br />';
print_r($_POST['name']);
?>
Hilft das weiter? Wenn nicht, dann bitte das Formular posten
In der DB soll die Anzahl der Namen stehen ...
Die hättest du mit
Deswegen sagte ich ja, bevor ich mir alles zusammenreime, poste mal dein Formular aus dem die Daten kommen
Noch ein Versuch ... Moment ...
Oder soooo >.< ohne deinen Quelltext kann es sich nur um Tage Handeln, bis du eine Lösung bekommst
Und am besten gleich die Tabellenstruktur dazu ...
Die hättest du mit
count($_POST['name']);
Deswegen sagte ich ja, bevor ich mir alles zusammenreime, poste mal dein Formular aus dem die Daten kommen
Noch ein Versuch ... Moment ...
for ($i = 0; $i < count($_POST['name']); $i++){
// füge in Zeile xyz in die Spalte name.$i den wert $_POST['name'][$i] ein
}
for ($i = 0; $i < $_GET['zahl']; $i++){
// füge in Zeile xyz in die Spalte name.$i den wert $_POST['name'.$i] ein
}
Oder soooo >.< ohne deinen Quelltext kann es sich nur um Tage Handeln, bis du eine Lösung bekommst
Und am besten gleich die Tabellenstruktur dazu ...
aaaah okay. so langsam blicke ich das ...
1. Abfrage: Wieviele Schüler anlegen?
2. Abfrage: Jeweils Name und Note für die angelegten Schüler
3. Übertrag der Eingaben in eine Tabelle
Es soll also eine Tabelle in der Schülernamen und Noten gespeichert werden sollen.
Sind die Namen jeweils einmalig oder kann die Note eines Schülers zum Beispiel geändert werden, sprich, wenn ein Name, der bereits existiert eingegeben wird, dann wird die Note "überschrieben" ?
1. Abfrage: Wieviele Schüler anlegen?
2. Abfrage: Jeweils Name und Note für die angelegten Schüler
3. Übertrag der Eingaben in eine Tabelle
Es soll also eine Tabelle in der Schülernamen und Noten gespeichert werden sollen.
Sind die Namen jeweils einmalig oder kann die Note eines Schülers zum Beispiel geändert werden, sprich, wenn ein Name, der bereits existiert eingegeben wird, dann wird die Note "überschrieben" ?