Ich hole ein Array von einem MySQL-Ergebnis in eine Array-Variable. Ich kann erfolgreich eine einfache PHP-Echo-Zeile in dem Javascript unten verwenden, um das erste $ -Zeilenelement zu erfassen, aber ich möchte json_encode verwenden, um das gesamte Array auf einmal zu erhalten.Übergabe von Array-Daten von PHP nach Javascript
Wenn ich dies tun und versuchen, eine JavaScript-Variable auf das erste Array-Element zu setzen, geht etwas schief und sogar die einzelne var-Methode funktioniert nicht mehr.
<?php
.
.
.
while($row = $result->fetch_array(MYSQLI_NUM)) {
$row1 = $row[0];
}
?>
<script type="text/javascript">
var RowArray = <?php echo json_encode($row); ?>;
var RA1 = RowArray[0];
window.alert(RA1);
var Row1 = '<?php echo $row1; ?>';
window.alert(Row1);
</script>
Wie wäre es mit '$ allRows = $ result-> fetch_all (MYSQLI_NUM);'? Wenn nicht, wie sehen die Daten aus und wie sollen sie in JavaScript dargestellt werden? – Phil
Wenn eine der Zeilen aus Nicht-UTF8-Sonderzeichen besteht. json_encode kann null zurückgeben. Und wird fehlschlagen JS auf var RowArray =; (Da PHP nicht null zurückgibt, aber nichts, wenn es in eine Zeichenfolge umgewandelt wird) (Der Fehler wird unerwartet sein;) – DiceXQ
Der fetch_all hat funktioniert. Ich bin mir nicht ganz sicher, warum mein fetch_array fehlgeschlagen ist. Vielleicht weil die Schleife und das Skript-Timing vom Webserver gehandhabt werden? Aber ich freue mich für eine praktische Lösung. Vielen Dank! – Dweeda