Wenn die Parameterübergabe von PHP zu JavaScript wieder Probleme verursacht, kann die Lösung ganz schön viel Zeit in Anspruch nehmen. Das muss aber nicht sein – denn mit unserer Anleitung bekommt ihr das ganz einfach in wenigen Schritten hin. Wir zeigen euch wie ihr das Problem umgeht.
Werden von z.B. einer mySQL-Datenbank Daten aus einer Spalte mit „UNSIGNED ZEROFILL“ geholt, gilt eine besonders große Vorsicht.
$data = mysql_fetch_assoc($res);
Hier gibt mySQL die Werte mit führenden Nullen zurück. Das führt dazu, dass der Wert der Variablen $data[‚ID‘] keine normale Zahl zurückliefert, sondern z.B. 000076.
Will man nun eine Parameterübergabe von PHP zu JavaScript durchführen, kann man dies folgendermaßen in einigen einfachen Schritten tun:
var ID = <?php echo $data['ID']; ?>;
JavaScript interpretiert bei dieser Parameterübergabe die führenden Nullen als gewollt und interpretiert, bei einer Zahl bestehend aus Ziffern kleiner als 8, den Wert der Zahl (76) als Oktalzahl und wandelt diesen wieder in eine Dezimal-Zahl (62) um.
Das richtige Ergebnis erhält man, wenn man den zuweisenden Wert in Anführungszeichen setzt und ggf. anschließend die Nullen entfernt:
var ID = '<?php echo $data['ID']; ?>'; ID = ID.replace(/^0*/, "");
Ein kleiner aber feiner Unterschied bei der Parameterübergabe, der viel Nerven kosten kann. Wir hoffen sehr, dass wir euch mit dieser kleinen Anleitung weiterhelfen konnten. Falls ihr noch weitere Fragen habt, so postet sie doch einfach in die Kommentare rein oder nutzt unser Kontaktformular. Oder schaut euch doch einmal in unserem Blog um. Hier findet ihr immer wieder kleine Schritt-für-Schritt-Anleitungen für Web-Entwickler, Designer und andere Kreativleute, wie zum Beispiel hier, wo wir euch erklären wie man 301 Weiterleitungen über die .htaccess einrichtet. Wir freuen uns auf euer Feedback.