将PHP中的MYSQL结果插入Javascript数组
我试图在一个私有网站上使用javascript中的trie来实现一个非常简单的自动完成功能。问题是我所看到和尝试的示例只是在javascript数组中使用预定义列表 例如,将PHP中的MYSQL结果插入Javascript数组,javascript,php,mysql,arrays,Javascript,Php,Mysql,Arrays,我试图在一个私有网站上使用javascript中的trie来实现一个非常简单的自动完成功能。问题是我所看到和尝试的示例只是在javascript数组中使用预定义列表 例如,var arrayObjects=[“狗”、“猫”、“房子”、“老鼠”] 我想做的是使用PHP检索MYSQL结果并将其放入javascript数组中 这就是我到目前为止为PHP所做的(Javascript很好,只需要填充数组): 然后我想使用类似mysql\u fetch\u array($name)的东西插入每个值;(我
var arrayObjects=[“狗”、“猫”、“房子”、“老鼠”]代码>
我想做的是使用PHP检索MYSQL结果并将其放入javascript数组中
这就是我到目前为止为PHP所做的(Javascript很好,只需要填充数组):
然后我想使用类似mysql\u fetch\u array($name)的东西插入每个值;(我知道这是不正确的,但只是想告诉你们我脑子里在想什么)
——这是javascript部分
(功能(){
使用json\u encode
将您的PHP数组转换为有效的javascript对象。例如,如果您从名为$array
的PHP数组中的数据库获得结果:
var obj = "<?php echo json_encode($array); ?>";
var obj=”“;
您现在可以在javascript代码中使用obj
首先,java
和javascript
:-)之间有很大的区别
现在,在本例中,您所做的是在结果数组中循环,每次打印出行var arrayObjects=[];
。但是,这不会在作为结果得到的PHP数组和javascript数组之间转换
既然您开始这样做,您可以:
<?php
//bind to $name
if ($stmt = $mysqli->prepare("SELECT category.name FROM category")) {
$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; ?>
</script>
//现在把它放到javascript中
var阵列对象=
对于自动完成,您可以使用。这是HTML5()中相对较新的功能,但存在。
在构建页面时,用php填充
标记,您就完成了。考虑使用Ajax调用并以JSON格式传递数据,而不是像您现在这样疯狂地使用跨语言。谢谢,这并不是因为我害怕一些新东西,只是需要了解一下Ajax调用和传递JSON,我可以轻松地使用自动完成功能直接从网上开始,但我想我自己也会尝试一下,就像我几年前在大学里做的红黑和基数树一样,但它们都是java,自学PHP,所以我只是坚持我所知道的。跨语言的疯狂只是在我的脑子里;)奏效了!太棒了!谢谢heaps mate。我已经尝试了几次将结果应用到一个PHP数组,只是不知道有一个转换函数可以转换成JSON并传递到javascript!很好的例子。非常棒——这使一切都成为可能!谢谢,但不是我想要的,很高兴知道,以供将来参考。
var obj = "<?php echo json_encode($array); ?>";
<?php
//bind to $name
if ($stmt = $mysqli->prepare("SELECT category.name FROM category")) {
$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; ?>
</script>