[英]Displays only the last row in foreach statement
if($query->num_rows()>0)
{
foreach($query->result() as $row)
{
$slNo = $row->sl_no;
//echo "</br>";
$sql1 = "SELECT * FROM main_stock_outward WHERE product_id='$slNo' AND request_id='$requestId'";
//echo "</br>";
$query1 = $this->db->query($sql1);
if (!($query1->num_rows() > 0))
{
echo "hi";
echo $sql2 = "SELECT a.sl_no,a.product_name,a.barcode,b.request_qty,b.deliver FROM stock_product a, stock_request b WHERE b.pos_id='$posNum' AND b.ordered_date like '$requestIssueDate%' AND b.request_id='$requestId' AND a.sl_no='$slNo' AND b.deliver='0' AND a.barcode=b.product_barcode ORDER BY request_qty DESC";
$query2 = $this->db->query($sql2);
//return $query2;
$arr_data['query3']=array('sales' => $query2);
//$query3 = array(
// 'sales' => $query2);
}
}
print_r($arr_data['query3']);
return $query2;
}
如再次在代碼中所示。我只能顯示最后一行,而不能顯示行?
if($query->num_rows()>0)
{
foreach($query->result() as $row)
{
$slNo = $row->sl_no;
//echo "</br>";
$sql1 = "SELECT * FROM main_stock_outward WHERE product_id='$slNo' AND request_id='$requestId'";
//echo "</br>";
$query1 = $this->db->query($sql1);
if (!($query1->num_rows() > 0))
{
echo "hi";
echo $sql2 = "SELECT a.sl_no,a.product_name,a.barcode,b.request_qty,b.deliver FROM stock_product a, stock_request b WHERE b.pos_id='$posNum' AND b.ordered_date like '$requestIssueDate%' AND b.request_id='$requestId' AND a.sl_no='$slNo' AND b.deliver='0' AND a.barcode=b.product_barcode ORDER BY request_qty DESC";
$query2 = $this->db->query($sql2);
//return $query2;
$arr_data['query3']**[]** =array('sales' => $query2);
//$query3 = array(
// 'sales' => $query2);
}
}
print_r($arr_data['query3']);
return $query2;
}
您錯過了制作數組的步驟,我修改了這行-$ arr_data ['query3'] = array('sales'=> $ query2); 如$ arr_data ['query3'] [] = array('sales'=> $ query2);
我認為您的問題將由此解決。
因為您做錯了。 您正在將每個結果分配給相同的變量。 嘗試以下方法:
$arr_data[]=array('sales' => $query2);
和:
print_r($arr_data);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.