我正在为我的学校开发一个窄播系统,目前我正在使用javascript在主显示页面的iframe的url之间进行轮换。
我希望能够通过php的后端更改这些值。但是,我不知道如何将两行(module\uurl和module\u time)放入一个数组并将其回显到js。
浏览stackoverflow时,我尝试了多种代码,这一种很有效,只不过它会抛出url,例如:“ var arrayObjects = ["https:\/\/domain.eu\/dir\/page.php","https:\/\/domain.eu\/dir\/page.php"]
".
(我希望数组显示: var arrayObjects = ["https:\/\/domain.eu\/dir\/page.php", 20]
". 其中url表示新的iframe源,20表示显示页面的时间。)
所以我的主要问题是,如何将两行放入一个数组,以及如何确保数组显示正确的链接和模块时间。
<?php
$mysqli = new mysqli('localhost', 'user', 'pw', 'db');
if ($stmt = $mysqli->prepare("SELECT module_url FROM db")) {
$stmt->bind_result($name);
$OK = $stmt->execute();
}
//put all of the resulting names into a PHP array
$result_array = Array();
while($stmt->fetch()) {
$result_array[] = $name;
}
//convert the PHP array into JSON format, so it works with javascript
$json_array = json_encode($result_array);
?>
<script>
//now put it into the javascript
var arrayObjects = <?php echo $json_array; ?>
ALL OTHER JS CODE
</script>
编辑:模块\u时间目前没有添加到mysqli查询中。
1条答案
按热度按时间nfeuvbwi1#
首先,您的php数组应该是多维的,如:
既然您已经使用了json_encode并将其分配给js array,那么它实际上已经是javascript中的一个数组了,也就是说您已经可以访问如下元素:
将javascript数组打印到html将显示为文本,如:
另外,您可以使用json.stringify()打印实际的javascript数组,而不是文本,示例:
将输出: