将数组数据从PHP传递到Javascript
我正在将MySQL结果中的数组提取到数组变量中。我可以在下面的javascript中成功地使用一个简单的php回显行来获取第一个$row元素,但我想使用json_encode一次获取整个数组 当我这样做并尝试将javascript变量设置为第一个数组元素时,出现了一些错误,甚至单个var方法也停止工作将数组数据从PHP传递到Javascript,javascript,php,arrays,Javascript,Php,Arrays,我正在将MySQL结果中的数组提取到数组变量中。我可以在下面的javascript中成功地使用一个简单的php回显行来获取第一个$row元素,但我想使用json_encode一次获取整个数组 当我这样做并尝试将javascript变量设置为第一个数组元素时,出现了一些错误,甚至单个var方法也停止工作 <?php . . . while($row = $result->fetch_array(MYSQLI_NUM)) { $row1 = $row[0];
<?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>
var RowArray=;
var RA1=行数组[0];
窗口警报(RA1);
var Row1='';
窗口警报(第1行);
制作一个包含所有记录的数组:
$rows = [];
while ($row = $result->fetch_array(MYSQLI_NUM))
{
// do custom modifications to $row if neededed
$rows[] = $row; // push to array
}
或者只是:
$rows = $result->fetch_all(MYSQLI_NUM);
然后使用
json\u encode()
和$rows
创建一个包含所有记录的数组:
$rows = [];
while ($row = $result->fetch_array(MYSQLI_NUM))
{
// do custom modifications to $row if neededed
$rows[] = $row; // push to array
}
或者只是:
$rows = $result->fetch_all(MYSQLI_NUM);
然后使用
json\u encode()
和$rows
如何$allRows=$result->fetch\u all(MYSQLI\u NUM)代码>?如果不是,数据是什么样子的?您希望它在JavaScript中如何表示?如果任何行包含非UTF8特殊字符。json_encode可以返回null。并将导致变量RowArray=上的JS失败;(因为PHP在转换为字符串时不回显null,但不回显任何内容)(错误将是意外的;)fetch_都工作正常。我不太清楚我的fetch\u数组失败的原因。可能是因为web服务器如何处理循环和脚本计时?但我很高兴有一个切实可行的解决办法。非常感谢。怎么样$allRows=$result->fetch\u all(MYSQLI\u NUM)代码>?如果不是,数据是什么样子的?您希望它在JavaScript中如何表示?如果任何行包含非UTF8特殊字符。json_encode可以返回null。并将导致变量RowArray=上的JS失败;(因为PHP在转换为字符串时不回显null,但不回显任何内容)(错误将是意外的;)fetch_都工作正常。我不太清楚我的fetch\u数组失败的原因。可能是因为web服务器如何处理循环和脚本计时?但我很高兴有一个切实可行的解决办法。非常感谢。