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

Getting values from database , then putting it in new Array with JS

我是新来的,所以基本上我想做的是,我需要从数据库中获取值并将这些值放在一个数组中,请参见下面我的 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('<?php echo $id; ?>~~~~~~~~<?php print $productName; ?> - <?php print $litres; ?>~~~~~~~~~~~~~~~~~~~~~~~~~~<?php print $quantity; ?>~~<?php print $type; ?>~~~~~~~~<?php print $singlePrice; ?>');

在这种情况下,我想要接收的输出代码类似于:

var arrValues = new Array('0001~~~~~~Кока Кола - 0.25 l.~~~~~~~~~~~~~~~~~~~~~~~~~~24~~каса~~~~~~~~0.71','0003~~~~~~Кока Кола - 0.5 l.РЕТ~~~~~~~~~~~~~~~~~~~~~~~~12~~стек~~~~~~~~1.09','0033~~~~~~Спрайт - 0.5 l.РЕТ~~~~~~~~~~~~~~~~~~~~~~~~~~~12~~стек~~~~~~~~1.09','0043~~~~~~Швепс Тоник - 0.5 l.РЕТ [недост.]~~~~~~~~~~~~12~~стек~~~~~~~~1.09','0053~~~~~~Сода Кинли - 0.5 l.РЕТ~~~~~~~~~~~~~~~~~~~~~~~12~~стек~~~~~~~~0.78','0112~~~~~~Ред Бул - 0.355 l.~~~~~~~~~~~~~~~~~~~~~~~~~~~24~~стек~~~~~~~~2.93','0305~~~~~~Капи Праскова Бут. - 0.25 l.~~~~~~~~~~~~~~~~~24~~каса~~~~~~~~0.79','0320~~~~~~Капи Ябълка Бут. - 0.25 l.~~~~~~~~~~~~~~~~~~~24~~каса~~~~~~~~0.79','0328~~~~~~Капи Банан - 1 l.*6 [недост.]~~~~~~~~~~~~~~~~6~~~стек~~~~~~~~2.27','0355~~~~~~Капи Вишна Бут. - 0.25 l.~~~~~~~~~~~~~~~~~~~~24~~каса~~~~~~~~0.79','1000~~~~~~Загорка РЕТРО БУТ. - 0.5 l.~~~~~~~~~~~~~~~~~~20~~каса~~~~~~~~1.08','1061~~~~~~Каменица св. БУТ. - 0.5 l.~~~~~~~~~~~~~~~~~~~20~~каса~~~~~~~~1.04','1068~~~~~~Наливно пиво Каменица - 30 l.~~~~~~~~~~~~~~~~30~~кег~~~~~~~~~2.17','1079~~~~~~Stella Artois БУТ. - 0.5 l.~~~~~~~~~~~~~~~~~~20~~каса~~~~~~~~1.37','10851~~~~~Шуменско БОМБИЧКА - 0.33l~~~~~~~~~~~~~~~~~~~~20~~каса~~~~~~~~0.70','1161~~~~~~Старопрамен БУТ. - 0.5 l.~~~~~~~~~~~~~~~~~~~~20~~каса~~~~~~~~1.17','4695~~~~~~Мента Карнобат- 0.7 l.~~~~~~~~~~~~~~~~~~~~~~~1~~~бр.~~~~~~~~~6.01','9188~~~~~~Нестий Праскова - 0.5 l.~~~~~~~~~~~~~~~~~~~~~12~~стек~~~~~~~~0.94','91881~~~~~Нестий Лимон - 0.5 l.~~~~~~~~~~~~~~~~~~~~~~~~12~~стек~~~~~~~~0.94');

但相反,我得到了这个:

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>';
?>