2 Stimmen

Wann genau werden PHP-MySQL-Variablenzuweisungen vorgenommen?

[Status: Schülerin] Bei Verwendung von Kontrollkästchen wählt der Benutzer Zeilen aus einer angezeigten HTML-Tabelle aus. Dann möchte ich das Datum und die eindeutige Zeilen-ID ("select_id") der ausgewählten ('angekreuzten') Zeilen in eine andere Tabelle einfügen. Vielleicht liege ich falsch, aber mir scheint, dass der erste Codeblock nicht funktioniert. Der zweite Codeblock funktioniert. Wenn ich richtig liege, scheint es darauf anzukommen, wo die $SQL-Anweisung gemacht wird. WARUM? Also, keine Variablenzuweisungen werden gemacht, bis das $sql von der mysql_query() Funktion aufgerufen wird, oder?

(... Wenn ich falsch liege, egal, es ist nur ein normaler Abend zu Hause.)

$sql = "INSERT INTO sap_id_select (select_date
                                   , select_id )
VALUES (CURRENT_DATE()
, '{$cSelected_id}') 
" ;

if (isset($_POST[ checkbox])) 
{ 
foreach ($_POST[ checkbox] as $cSelected_id)
{
mysql_query($sql) or ("Error: " . mysql_error());
}
}

\================================

if (isset($_POST[ checkbox])) 
{ 
foreach ($_POST[ checkbox] as $cSelected_id)
{
$sql = "INSERT INTO sap_id_select (select_date
, select_id )
VALUES (CURRENT_DATE()
, '{$cSelected_id}') 
" ;

mysql_query($sql) or ("Error: " . mysql_error());
}
}

0voto

Sampson Punkte 258265

In Beispiel eins geht die Abfrage davon aus, dass eine Variable existiert, die es nicht gibt. Wenn du möchtest, könntest du die Abfrage parametrisieren und die Werte innerhalb des foreach hinzufügen, aber du kannst es nicht so machen, wie du es im Beispiel 1 versuchst.

Beispiel:

$sql = "INSERT INTO sap_id_select(select_id) VALUES('%s')";

if (isset($_POST["checkbox"])) {
  foreach ($_POST["checkbox"] as $cSelected_id) {
    mysql_query (sprintf($sql, $cSelected_id)) or ("Fehler: " . mysql_error());
  }
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X