从数组php获取所有数据

从数组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

这是我的代码,它从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 = 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);
}
?>