nun habe ich noch ein anderes Problem,
zu dem ich leider keine Lösung im Internet finden kann…
Ich versuche gerade Daten in meine DB einzupflegen.
Der Code:
[PHP]
$sql = „INSERT INTO erfassung (id, datum, betrag, bemerkung, optKategorie, optBemerkung, item_order)
VALUE ( for ($i=0; $i < 7; $i++) ‚$theData[$zahlenArray[$i]]‘, )“;
$ergebnis = $mysqli->query($sql);
echo „Datensatz erfolgreich eingetragen! “;
[/PHP]
Mit dem Array möchte ich die jeweiligen Werte von id bis item_order auslesen.
Dies funktioniert auch, jedoch nur nicht in Kombination DB und der Schleife.
Kann ich sowas nicht umsetzen, um Daten in eine DB zu speichern?
Prinzipiell geht das, klar, aber hast du mal ein echo von $sql gemacht, bevor du es an die DB schickst? Ich denke nicht, dass da das drin steht, was du erwartest
Der zeigt mir auch in der Zeile „VALUE …“ einen Syntaxfehler an.
Ich finde da keinen Fehler - könnte es vielleicht daran liegen?
Mein Server (Win12) gibt mir mal wieder eine Menge „Internal Server Error´s“ aus.
Ich habe leider noch immer nicht herausgefunden, wo ich das umstellen kann.
Auch $theData[$zahlenArray[$i]] scheint mir zu umständlich, aber da man nur einen Ausschnitt des Quellcodes kennt, kann man dazu nicht viel mehr sagen.
Ich habe die Buchstaben aus folgendem Code in Zahlen
„umgewandelt“, um auf die einzelnen Datensätze zugreifen zu können:
Array ( [A] => 3 => 09-01-15 [C] => 1.22 € [D] => Parkticket [E] => [F] => [G] => 5 )
Ich rate dir dringends von solchen Dingen ab, denn das ist völlig unübersichtlich und erschwert die Fehlersuche unnötig. Und gerade als Anfänger sollte man besser einen Quellcode schreiben, der leicht lesbar ist, auch wenn man vermeintlich mehr zu tippen hat:
[PHP]foreach ($sheetData as $theData)
{
if ($theData[‚A‘] != „id“)
{
$id = $theData[‚A‘];
$datum = $theData[‚B‘];
$betrag = $theData[‚C‘];
$bemerkung = $theData[‚D‘];
$optKategorie = $theData[‚E‘];
$optBemerkung = $theData[‚F‘];
$item_order = $theData[‚G‘];
Ich gehe mal davon aus, dass id, optKategorie und item_order als Integer und der Rest als Varchar in der DB definiert sind. Allerdings würde ich da noch einiges ändern, das Datum in das Date-Format bringen, den Betrag als float ohne das €.