将PHP数组转换为Javascript数组
下午好。下面的代码工作得很好,但是,我需要将php sql数组的每一行拉出并放入脚本变量中。关于如何编写一个while循环来实现这一点,有什么想法吗?谢谢你的帮助将PHP数组转换为Javascript数组,php,javascript,while-loop,Php,Javascript,While Loop,下午好。下面的代码工作得很好,但是,我需要将php sql数组的每一行拉出并放入脚本变量中。关于如何编写一个while循环来实现这一点,有什么想法吗?谢谢你的帮助 var enableDays = ["<?php echo mysql_result($result, 0, 'date'); ?>"]; enableDays.push("<?php echo mysql_result($result, 1, 'date'); ?>"); var enableDays
var enableDays = ["<?php echo mysql_result($result, 0, 'date'); ?>"];
enableDays.push("<?php echo mysql_result($result, 1, 'date'); ?>");
var enableDays=[“”];
enableDays.push(“”);
附加代码::
$rows = array();
while ($row = mysql_fetch_assoc($result))
{
$rows[] = $row;
}
var enableDays = [<?php echo json_encode($rows); ?>];
console.log(enableDays[1]);
$rows=array();
while($row=mysql\u fetch\u assoc($result))
{
$rows[]=$row;
}
var enableDays=[];
console.log(enableDays[1]);
将数据提取到PHP数组中,然后使用
var enableDays = <?php echo json_encode($enableDays); ?>;
var enableDays=;
另一方面,强制性建议您应该立即停止使用PHP
mysql
扩展,因为它不太安全,已经被弃用;切换到更好的模式(mysqli
和PDO
都是不错的选择)。将数据取出到PHP数组中,然后使用
var enableDays = <?php echo json_encode($enableDays); ?>;
var enableDays=;
另一方面,强制性建议您应该立即停止使用PHP
mysql
扩展,因为它不太安全,已经被弃用;切换到更好的模式(mysqli
和PDO
都是不错的选择)。这行不通。加载页面后,所有PHP都已经运行。但是,如果您真的只是为每个推送添加下一个mysql_结果,您可以让PHP为您创建整个enableDays数组:
<?php
echo 'var enableDays = ["' . mysql_result(...) . '", "' . mysql_result(...) . '"];'
?>
这不行。加载页面后,所有PHP都已经运行。但是,如果您真的只是为每个推送添加下一个mysql_结果,您可以让PHP为您创建整个enableDays数组:
<?php
echo 'var enableDays = ["' . mysql_result(...) . '", "' . mysql_result(...) . '"];'
?>
希望这会有所帮助
<?php
$res = mysql_fetch_assoc($result)
foreach($res as $key => $val){ ?>
enableDays.push('<?php echo $val; ?>');
<?php }
?>
启用天数。推送(“”);
希望这会有所帮助
<?php
$res = mysql_fetch_assoc($result)
foreach($res as $key => $val){ ?>
enableDays.push('<?php echo $val; ?>');
<?php }
?>
启用天数。推送(“”);
您可以使用mysqli\u fetch\u assoc
获取行,然后将其编码为JSON:
<?php
$rows = array();
while ($row = mysqli_fetch_assoc($result)) {
$rows[] = $row;
}
?>
var enableDays = <?php echo json_encode($rows); ?>;
var enableDays=;
您可以使用mysqli\u fetch\u assoc
获取行,然后将其编码为JSON:
<?php
$rows = array();
while ($row = mysqli_fetch_assoc($result)) {
$rows[] = $row;
}
?>
var enableDays = <?php echo json_encode($rows); ?>;
var enableDays=;
我已经试过了,然后当我做一个console.log($enableDays[1]);它说未定义。您将如何将其拉入php数组?@user2014175:您没有尝试过,因为它会起作用。你试过类似的东西;让我们看看是什么。@user2014175这个答案比我的好。如果对您不起作用,请尝试将json记录到您的PHP日志文件中,以了解您是否真的正确生成了整个数组。@user2014175我的意思是记录到您的PHP日志文件,而不是console.log。使用error_log($rows)和error_log(json_encode($rows))@user2014175:这是他们答案中的jh314代码,它在
标记周围有额外的括号,这是错误的(该答案已被编辑以更正此错误)。我已经尝试过了,然后当我执行console.log($enableDays[1]);它说未定义。您将如何将其拉入php数组?@user2014175:您没有尝试过,因为它会起作用。你试过类似的东西;让我们看看是什么。@user2014175这个答案比我的好。如果对您不起作用,请尝试将json记录到您的PHP日志文件中,以了解您是否真的正确生成了整个数组。@user2014175我的意思是记录到您的PHP日志文件,而不是console.log。使用error_log($rows)和error_log(json_encode($rows))@user2014175:这是他们答案中的jh314代码,它在
标记周围有额外的括号,这是错误的(该答案已被编辑以更正此问题)。我很好奇为什么您不使用PHP编写“服务”它返回JSON并在JavaScript中使用Ajax方法调用它。我很好奇,为什么不使用PHP编写一个“服务”,返回JSON并在JavaScript中使用Ajax方法调用它。如果其中一个结果包含双引号呢?如果它以斜线结尾呢?不要手动编码——这就是json_encode
的目的。如果其中一个结果包含双引号怎么办?如果它以斜线结尾呢?不要手动编码——这就是json_encode
的用途。您可能需要删除外部[]
,json_encode
已经生成了一个有效的JS对象文本,为什么还要麻烦将其包装在一个无意义的数组中呢?当我这样做时,然后使用console.log(enableDays[1]);检查一下,我只是说“未定义”有什么想法为什么?谢谢您使用的是mysqli
?如果我不希望返回一个关联数组,而是一个数字索引数组,我该怎么做?谢谢你可以使用mysqli\u fetch\u row
你可能想删除外部[]
,json\u encode
已经生成了一个有效的JS对象文本,为什么还要麻烦将它包装在一个无意义的数组中呢?当我这样做时,然后使用console.log(enabledys[1]);检查一下,我只是说“未定义”有什么想法为什么?谢谢您使用的是mysqli
?如果我不希望返回一个关联数组,而是一个数字索引数组,我该怎么做?感谢您可以使用mysqli\u fetch\u行