簡體   English   中英

如何從sql數據庫中的2個表中的多列中獲取數據?

[英]How to get data from multiple columns from 2 tables in sql database?

我有2個表名,每個名稱shipping_infos和訂單。 我想從2個表中獲取多個列。 這兩個表共享同一列,即user_id列。 我一直在嘗試這個代碼,但它仍然返回null。 我該怎么寫呢?

 <?php
  include ('classes/functions.php');

 if(isset($_POST['user_id'])){
 $user_id = $_POST['user_id'];
 $check_receipt = "select 
shipping_infos.shipping_name,shipping_infos.shipping_address,
shipping_infos.shipping_contact,shipping_infos.shipping_email,  
  orders.order_date,orders.trx_id,orders.tracking_num from
 shipping_infos inner join orders on shipping_infos.user_id = orders.user_id    
 where user_id= '".$user_id."';";
        $run_receipt_checking = mysqli_query($con, $check_receipt);
        $result = array();
    while($row = mysqli_fetch_array($run_receipt_checking)){
    array_push($result,
    array(
          'shipping_name'=>$row[2],
          'shipping_address'=>$row[3],
          'shipping_contact'=>$row[4],
          'shipping_email'=>$row[5],
          'order_date'=>$row[8],
          'trx_id'=>$row[1],
          'tracking_num'=>$row[2],            
));
}
    echo json_encode(array("result"=>$result));
} ?>

試試這個查詢:

$check_receipt = "select  si.shipping_name,
        si.shipping_address,
        si.shipping_contact,
        si.shipping_email,
        o.order_date,
        o.trx_id,
        o.tracking_num 
from shipping_infos si
inner join orders o
    on si.user_id = o.user_id    
where si.user_id='".$user_id."';";

並在這里更改:

    array_push($result,
    array(
          'shipping_name'=>$row[0],
          'shipping_address'=>$row[1],
          'shipping_contact'=>$row[2],
          'shipping_email'=>$row[3],
          'order_date'=>$row[4],
          'trx_id'=>$row[5],
          'tracking_num'=>$row[6],            
));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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