簡體   English   中英

僅顯示foreach語句的最后一行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM