dedlfix: JAVASCRIPT & MySQL

Beitrag lesen

Hi!

Unter Berücksichtigung von JürgenBs Hinweisen würde ich Server-seitigen PHP-Code wie z.B. den folgenden vorschlagen:

Lieber Kinder, bitte nicht 1:1 zu Hause in eigene Projekte einbauen sondern nur als Anregung verstehen.

$link = connect();

Schon diese erste Zeile ist, vermutlich in vollster Absicht, nur eine Andeutung, dass ein Connect benötigt wird, ohne diesen konkret darzustellen.

if ($link)
{
  $sql = "SELECT *
          FROM banner"; // Sinnvollerweise sollte man hier natürlich nur die Spalten abfragen, die man wirklich braucht!

$result = mysql_query($sql) or die(mysql_error()); // Hier sollte eigentlich eine vernünftige Fehlerbehandlung hin - ein die() ist keine!

Und weil die() keine Fehlerbehandlung ist, muss man sie auch nicht in Beispielcode zeigen. Zumal ...

if (!$result)
    return(FALSE);

... ja hiermit bereits eine Prüfung auf Fehler stattfindet (wenn auch nur rudimentär und nicht zu sehen ist, was genau das return verlassen soll. Die obsoleten Klammern um das false erwähne ich jetzt mal nicht). Mit dem obigen die() wäre diese Prüfung auch irrelevant, weil die Abarbeitung im Fehlerfall durch das die() gestorben wird, also gar nicht bis hier kommt und um Gutfall nichts zu tun hat.

echo "ImageArr = new Array();\n";

while ($row = mysql_fetch_assoc($result))
  {
    echo "ImageArr.push('" . $row['Image'] . "');\n";
  }
}

Wenn wir mal (anhand des return) annehmen, dass der obige Code in einer Funktion steht, ist es auch besser nicht die Funktion die Ausgabe vornehmen zu lassen, sondern den Javascript-Code in einer Variable zusammenbauen und deren Inhalt von der Funktion zurückgeben zu lassen. Zudem muss noch der Kontextwechsel beim Einfügen von $row['Image'] in den Javascript-Code beachtet werden.

Lo!