从数组php获取所有数据
这是我的代码,它从xampp外部数据库检索数据,并将其存储到解析为json的数组中从数组php获取所有数据,php,Php,这是我的代码,它从xampp外部数据库检索数据,并将其存储到解析为json的数组中 <?php /* * Following code will list all the products */ // array for JSON response $response = array(); // include db connect class require_once __DIR__ . '/conectaDB.php'; // connecting to db $db = n
<?php
/*
* Following code will list all the products
*/
// array for JSON response
$response = array();
// include db connect class
require_once __DIR__ . '/conectaDB.php';
// connecting to db
$db = new DB_CONNECT();
// get all products from products table
$result = mysql_query("select cd.id, cd.dt_ini_camp, cd.dt_fim_camp, cd.descricao, + (select sum(quantidade) from lin_doc where id_cab_doc = cd.id) as qtd from cab_doc cd where cd.id_tipo_doc = 1") or die(mysql_error());
// check for empty result
if (mysql_num_rows($result) > 0) {
// looping through all results
// products node
while ($row = mysql_fetch_array($result)) {
// temp user array
$product = array();
$product["id"] = $row["id"];
$product["dt_ini_camp"] = $row["dt_ini_camp"];
$product["dt_fim_camp"] = $row["dt_fim_camp"];
$product["descricao"] = $row["descricao"];
$product["qtd"] = $row["qtd"];
// push single product into final response array
$response["cab_doc"] = array();
array_push($response["cab_doc"], $product);
}
// success
$response["success"] = 1;
// echoing JSON response
echo json_encode($response);
} else {
// no products found
$response["success"] = 0;
$response["message"] = "No products found";
// echo no users JSON
echo json_encode($response);
}
?>
我的问题是这是最后一条记录,我想要全部,缺少什么请帮助为
while()
循环尝试类似的方法:
while ($row = mysql_fetch_array($result)) {
// temp user array
$product = array(
'id' => $row["id"],
'dt_ini_camp' => $row["dt_ini_camp"],
'dt_fim_camp' => $row["dt_fim_camp"],
'descricao' => $row["descricao"],
'qtd' => $row["qtd"]
);
// push single product into final response array
array_push($response["cab_doc"], $product);
}
您也可以尝试将其添加到$response['cab\u doc']
数组中,如下所示:
$response['cab_doc'][] = $product;
这对你有什么回报
编辑:尝试以下操作:
$response["cab_doc"] = array();
while ($row = mysql_fetch_array($result)) {
// temp user array
$product = array(
'id' => $row["id"],
'dt_ini_camp' => $row["dt_ini_camp"],
'dt_fim_camp' => $row["dt_fim_camp"],
'descricao' => $row["descricao"],
'qtd' => $row["qtd"]
);
// push single product into final response array
array_push($response["cab_doc"], $product);
}
编辑#2:
<?php
/*
* Following code will list all the products
*/
// array for JSON response
$response = array();
// include db connect class
require_once __DIR__ . '/conectaDB.php';
// connecting to db
$db = new DB_CONNECT();
// get all products from products table
$result = mysql_query("select cd.id, cd.dt_ini_camp, cd.dt_fim_camp, cd.descricao, + (select sum(quantidade) from lin_doc where id_cab_doc = cd.id) as qtd from cab_doc cd where cd.id_tipo_doc = 1") or die(mysql_error());
// check for empty result
if (mysql_num_rows($result) > 0) {
// looping through all results
// products node
$response["cab_doc"] = array();
while ($row = mysql_fetch_array($result)) {
// temp user array
$product = array(
'id' => $row["id"],
'dt_ini_camp' => $row["dt_ini_camp"],
'dt_fim_camp' => $row["dt_fim_camp"],
'descricao' => $row["descricao"],
'qtd' => $row["qtd"]
);
// push single product into final response array
array_push($response["cab_doc"], $product);
//or
// $response['cab_doc'][] = $product;
}
// success
$response["success"] = 1;
// echoing JSON response
echo json_encode($response);
} else {
// no products found
$response["success"] = 0;
$response["message"] = "No products found";
// echo no users JSON
echo json_encode($response);
}
?>
可能是因为您一直在清空$response[“cab_doc”]=array()代码>在你的循环中?是吗?lol这不是我的意图,我应该做什么更改?从while()
循环中注释它并告诉我们结果。很抱歉,我对它进行了注释,现在它显示了此警告:array\u push()希望参数1为array,第42行的C:\xampp\htdocs\webprojecto4\index_pesagem.php中给出了null,如果我将其放在循环之外,它会显示一个blank页面,该页面带有注释$response[“cab_doc”]=array();您的第一个解析显示了一个警告array_push()希望参数1是array,在第43行的C:\xampp\htdocs\webprojecto4\index_pesagem.php中给出空值,这里是这一行:array_push($response[“cab_doc”],$product);使用$response['cab_doc'][]=$product;它显示一个空白page@user3121133请参阅最近的编辑并重试,记住var\u dump($response)
/print\r($response)
blank页面不带var\u dump($response)。使用var dump,它会向我显示数据,但无法将其编码为json@user3121133您必须自己使用json\u encode()
将其编码为json,就像您之前在脚本中所做的那样。。
<?php
/*
* Following code will list all the products
*/
// array for JSON response
$response = array();
// include db connect class
require_once __DIR__ . '/conectaDB.php';
// connecting to db
$db = new DB_CONNECT();
// get all products from products table
$result = mysql_query("select cd.id, cd.dt_ini_camp, cd.dt_fim_camp, cd.descricao, + (select sum(quantidade) from lin_doc where id_cab_doc = cd.id) as qtd from cab_doc cd where cd.id_tipo_doc = 1") or die(mysql_error());
// check for empty result
if (mysql_num_rows($result) > 0) {
// looping through all results
// products node
$response["cab_doc"] = array();
while ($row = mysql_fetch_array($result)) {
// temp user array
$product = array(
'id' => $row["id"],
'dt_ini_camp' => $row["dt_ini_camp"],
'dt_fim_camp' => $row["dt_fim_camp"],
'descricao' => $row["descricao"],
'qtd' => $row["qtd"]
);
// push single product into final response array
array_push($response["cab_doc"], $product);
//or
// $response['cab_doc'][] = $product;
}
// success
$response["success"] = 1;
// echoing JSON response
echo json_encode($response);
} else {
// no products found
$response["success"] = 0;
$response["message"] = "No products found";
// echo no users JSON
echo json_encode($response);
}
?>