Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将PHP中的MYSQL结果插入Javascript数组_Javascript_Php_Mysql_Arrays - Fatal编程技术网

将PHP中的MYSQL结果插入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)的东西插入每个值;(我

我试图在一个私有网站上使用javascript中的trie来实现一个非常简单的自动完成功能。问题是我所看到和尝试的示例只是在javascript数组中使用预定义列表

例如,
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>