【问题标题】:Trying to transfer mysql database data to javascript array试图将mysql数据库数据传输到javascript数组
【发布时间】:2018-09-16 23:52:56
【问题描述】:

我尝试了一些东西,但它们似乎不起作用,如果我自己在没有数据库的情况下填充数组,我的代码可以正常工作,因此问题在于从数据库中检索数据。

var countries = <?php
require('connection.php');
$query = 'SELECT product_name FROM products';
$result = mysqli_query($conn, $query);
while($products = mysqli_fetch_array($result, MYSQLI_NUM)){
    echo json_encode($products);
//OR
//$products = mysqli_fetch_all($result, MYSQLI_NUM);
//echo json_encode($products);
}
 ?>;

这是我尝试过的代码,但它不起作用 我正在向国家/地区发送功能

autocomplete(document.getElementById("myInput"), countries);

在这个函数中,我以这种方式解析数组

for (i = 0; i < arr.length; i++) {
    /*check if the item starts with the same letters as the text field value:*/
    /*here arr is the array 'countries' send to the function autocomplete*/
    if (arr[i].substr(0, val.length).toUpperCase() == val.toUpperCase()) {//code snippet
   }}

【问题讨论】:

    标签: javascript php arrays database


    【解决方案1】:

    while() 循环的每次迭代中,您都在 echo 处理 JSON 字符串。因此,它将写入一个无效的 JSON 字符串。你可以创建一个数组,填充它,最后将它写成 JSON:

    <?php
    require('connection.php');
    $query = 'SELECT product_name FROM products';
    $result = mysqli_query($conn, $query);
    $products = []; // new array
    while($product = mysqli_fetch_array($result, MYSQLI_NUM)) {
        $products[] = $product ; // push into array
    }
    // finally, write JSON:
    ?>
    var countries = <?php echo json_encode($products) ?>;
    

    【讨论】:

    • 我也已经尝试过了,因为这个解决方案是在 stackoverflow 的另一个问题的答案中给出的。有没有其他方法可以做到这一点?
    • @Anonymous 请问您遇到了什么问题?给定的错误是什么?你能显示输出吗?谢谢。
    • 我正在尝试将一个数组发送到一个函数,该函数将解析数组并将自动完成应用于文本字段。我现在意识到我一直在将数组解析为数字数组,但也许我在“国家”中得到了一个关联数组,我正在更新问题,也许这将有助于理解我想要实现的目标
    • @Anonymous 好的,我明白了。你能添加你的数组的一小部分吗?谢谢。
    • var countries = ["Santana Gamma - Syrah","Santana Axel - Black","Canon EOS 5D Mark IV","Sony Alpha99 II","Nikon D3300","Pentax K-1 ","microSD 卡","佳能 EOS 77D"]; //这是我试图从数据库中获取的数组类型,如果我明确定义它,那么代码工作正常
    猜你喜欢
    • 1970-01-01
    • 2012-07-29
    • 2014-07-04
    • 2015-11-03
    • 2013-04-28
    • 2012-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多