Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.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
Javascript 从数据库中获取值,然后使用JS将其放入新数组中_Javascript_Php_Arrays_Database_Mysqli - Fatal编程技术网

Javascript 从数据库中获取值,然后使用JS将其放入新数组中

Javascript 从数据库中获取值,然后使用JS将其放入新数组中,javascript,php,arrays,database,mysqli,Javascript,Php,Arrays,Database,Mysqli,我是新来的,所以基本上我要做的是,我需要从数据库中获取值,并将这些值放在一个数组中,请参见下面我的PHP: <?php $db = mysqli_connect('localhost', 'krissko0o', 'krisko0o', 'KISP'); $sql = "SELECT * FROM products ORDER BY productName ASC"; $rsd = mysqli_query($db, $sql); while($rs = mys

我是新来的,所以基本上我要做的是,我需要从数据库中获取值,并将这些值放在一个数组中,请参见下面我的PHP:

    <?php
$db = mysqli_connect('localhost', 'krissko0o', 'krisko0o', 'KISP');
$sql = "SELECT * FROM products ORDER BY productName ASC";
$rsd = mysqli_query($db, $sql);
while($rs = mysqli_fetch_assoc($rsd)) {
    $id = $rs['id'];
    $productName = $rs['productName'];
    $quantity = $rs['quantity'];
    $litres = $rs['litres'];
    $type = $rs['type'];
    $singlePrice = $rs['singlePrice'];
}
?>
但是,我得到的是:

var arrValues = new Array('11~~~~~~~~Бъз лимон - 0~~~~~~~~~~~~~~~~~~~~~~~~~~2~~~~~~~~~~0');
var arrValues = new Array('7~~~~~~~~Вишна - 0~~~~~~~~~~~~~~~~~~~~~~~~~~2~~~~~~~~~~0');
var arrValues = new Array('24~~~~~~~~Вишна - 0~~~~~~~~~~~~~~~~~~~~~~~~~~3~~~~~~~~~~0');
var arrValues = new Array('33~~~~~~~~Вишна - 0~~~~~~~~~~~~~~~~~~~~~~~~~~0~~~~~~~~~~0');
var arrValues = new Array('18~~~~~~~~Газирана вода - 0~~~~~~~~~~~~~~~~~~~~~~~~~~2~~~~~~~~~~0');
var arrValues = new Array('34~~~~~~~~Газирана вода - 0~~~~~~~~~~~~~~~~~~~~~~~~~~0~~~~~~~~~~0');
var arrValues = new Array('8~~~~~~~~Горски плод - 0~~~~~~~~~~~~~~~~~~~~~~~~~~2~~~~~~~~~~0');
var arrValues = new Array('25~~~~~~~~Горски плод - 0~~~~~~~~~~~~~~~~~~~~~~~~~~3~~~~~~~~~~0');
var arrValues = new Array('17~~~~~~~~Грейпфрут - 0~~~~~~~~~~~~~~~~~~~~~~~~~~2~~~~~~~~~~0');
var arrValues = new Array('12~~~~~~~~Грозде - 0~~~~~~~~~~~~~~~~~~~~~~~~~~2~~~~~~~~~~0');
var arrValues = new Array('10~~~~~~~~Див лимон - 0~~~~~~~~~~~~~~~~~~~~~~~~~~2~~~~~~~~~~0');
var arrValues = new Array('15~~~~~~~~Дюля - 0~~~~~~~~~~~~~~~~~~~~~~~~~~2~~~~~~~~~~0');
var arrValues = new Array('27~~~~~~~~Дюля - 0~~~~~~~~~~~~~~~~~~~~~~~~~~3~~~~~~~~~~0');
var arrValues = new Array('2~~~~~~~~Жълта лимонада - 0~~~~~~~~~~~~~~~~~~~~~~~~~~2~~~~~~~~~~0');
var arrValues = new Array('19~~~~~~~~Жълта лимонада - 0~~~~~~~~~~~~~~~~~~~~~~~~~~3~~~~~~~~~~0');
var arrValues = new Array('28~~~~~~~~Жълта лимонада - 0~~~~~~~~~~~~~~~~~~~~~~~~~~0~~~~~~~~~~0');
var arrValues = new Array('51~~~~~~~~Жълта лимонада - 2л~~~~~~~~~~~~~~~~~~~~~~~~~~24~~Стек~~~~~~~~0.25');

有什么帮助吗?:):D

我不知道代码段2-3是什么或它们来自何处,也不知道您将如何处理该数组,但我认为在php中,您可以执行以下操作来获取数组中的数据:

<?php
    $db = mysqli_connect('localhost', 'krissko0o', 'krisko0o', 'KISP');
    $sql = "SELECT * FROM products ORDER BY productName ASC";
    $rsd = mysqli_query($db, $sql);
    $arrValues = array();                               //will become a multidimensional array
    while($rs = mysqli_fetch_assoc($rsd)) {
        $tempArray = array(                             //one array per dataset
            "id" => $rs['id'],
            "productName" => $rs['productName'],
            "quantity" => $rs['quantity'],
            "litres" => $rs['litres'],
            "type" => $rs['type'],
            "singlePrice" => $rs['singlePrice']
        );
        array_push($arrValues, $tempArray);             //insert the dataset in the multidimensional array
    }
?>


如果您想将数据从php获取到js,那么了解获取数据的方式会很有帮助(在脚本标记中回显数据,或者将其作为对ajax请求的响应发送?)

评论中回复我回拨问题后的第二部分

当然,您不需要php数组,只需要一个长字符串:

<?php
    $db = mysqli_connect('localhost', 'krissko0o', 'krisko0o', 'KISP');
    $sql = "SELECT * FROM products ORDER BY productName ASC";
    $rsd = mysqli_query($db, $sql);
    $arrValues = '';
    while($rs = mysqli_fetch_assoc($rsd)) {
        $arrValues .= '"' . 
            $rs['id'] . '~~~~~~~~' . 
            $rs['productName'] . ' - ' . 
            $rs['quantity'] . '~~~~~~~~~~~~~~~~~~~~~~~~~~' . 
            $rs['litres'] . '~~' . 
            $rs['type'] . '~~~~~~~~' . 
            $rs['singlePrice'] . 
        '", ';
    }
    echo '<script> var arrValues = [' . $arrValues . ']; </script>';
?>


将$rs改写为$tempArray有什么意义?哦,我没有正确阅读问题标题,只是回答了文本中的数组部分-我最好删除我的答案吗?嗨,Biberman,谢谢你的回答,基本上代码段2和3来自页面的源代码,我想要的是,当我将这些结果放入新数组时,我希望每个结果都位于不同的行上,但是我在数据库中的每个查询都会得到不同的var Arrvalues,这意味着如果我在数据库中有10行,我将收到10行var Arrvalues=。。。。我需要的是接收一个var ArrValues,但填充了我得到的每个查询,当然用coma分隔。@KristiyanKostadiov:你没有回答我的问题,你想用哪种方式将数据获取到js(在脚本标记中回显或作为对ajax请求的响应发送?)在脚本tag中回显它从数据库获取数组和从PHP向JS发送数组是两个不同的问题,必须分别询问(或者最好用谷歌搜索)。无论哪种方式,从PHP向JS发送数据的标准是JSONHi,正如您从我的代码中看到的,我已经得到了数据库查询,我的问题是,当我将这些查询放入数组时,我接收到多个VAR Arrvalues,即使我尝试使用json_encode,我在一行上收到它们,我不能让它在一个新行上显示每个查询,这不是关于有一个“查询”。它是关于从这个查询中获得一个数组。获取数组后,可以使用json_编码。但是,将数组从PHP发送到JS是另一个问题,这个问题已经被回答了多次。
<?php
    $db = mysqli_connect('localhost', 'krissko0o', 'krisko0o', 'KISP');
    $sql = "SELECT * FROM products ORDER BY productName ASC";
    $rsd = mysqli_query($db, $sql);
    $arrValues = array();                               //will become a multidimensional array
    while($rs = mysqli_fetch_assoc($rsd)) {
        $tempArray = array(                             //one array per dataset
            "id" => $rs['id'],
            "productName" => $rs['productName'],
            "quantity" => $rs['quantity'],
            "litres" => $rs['litres'],
            "type" => $rs['type'],
            "singlePrice" => $rs['singlePrice']
        );
        array_push($arrValues, $tempArray);             //insert the dataset in the multidimensional array
    }
?>
<?php
    $db = mysqli_connect('localhost', 'krissko0o', 'krisko0o', 'KISP');
    $sql = "SELECT * FROM products ORDER BY productName ASC";
    $rsd = mysqli_query($db, $sql);
    $arrValues = '';
    while($rs = mysqli_fetch_assoc($rsd)) {
        $arrValues .= '"' . 
            $rs['id'] . '~~~~~~~~' . 
            $rs['productName'] . ' - ' . 
            $rs['quantity'] . '~~~~~~~~~~~~~~~~~~~~~~~~~~' . 
            $rs['litres'] . '~~' . 
            $rs['type'] . '~~~~~~~~' . 
            $rs['singlePrice'] . 
        '", ';
    }
    echo '<script> var arrValues = [' . $arrValues . ']; </script>';
?>