Javascript 从数据库中获取值,然后使用JS将其放入新数组中
我是新来的,所以基本上我要做的是,我需要从数据库中获取值,并将这些值放在一个数组中,请参见下面我的PHP: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
$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>';
?>