我有 2 個具有不同查詢的 foreach。第一個 foreach 顯示客戶名稱和交易編號。
第一個 foreach 中的事務編號值不是來自資料庫,而是來自回圈 $no 。
如何根據客戶名稱從第一個 foreach 獲取 $no 值以存盤在第二個 foreach 中。
此代碼:
$db = new mysqli("localhost","root","","test");
// Query Customer & Transaction No (First Foreach)
$sql_1 = "SELECT nama FROM pesan GROUP BY nama";
$result = $db->query($sql_1);
$no = 1;
foreach($result as $row){
echo $row['nama'].'<br>';
echo ' Transaction No ='.$no .'<br>';
}
// Query Purchased product details (second Foreach)
$sql_2 = "SELECT product,nama FROM buy";
$result = $db->query($sql_2);
foreach($result as $row){
echo $row['nama'].'<br>';
echo 'Product Name ='.$row['product'].'<br>';
echo 'Transaction No ='.$no .'<br>'; // transaction no is taken the value of $no from the foreach above based on customer name.
}
第一次 Foreach 的結果:
farez
Transaction No =1
hardy
Transaction No =2
第二次 Foreach 的結果:
farez
Product Name = TV
Transaction No = 1
hardy
Product Name = radio
Transaction No = 2
uj5u.com熱心網友回復:
您實際上可以通過各種方式做到這一點;
其中之一是創建一個陣列并將名稱和交易編號保存為 $name => $transaction_number 形式。為此,您只需將第一個 foreach 更改為:
/*----- Define Array Here ------*/
$trnoArr = array();
/*----- Define Transacrion Number And Loop through your results------*/
$no = 1;
foreach($result as $row){
/*----- Add your rows to array ------*/
$trnoArr[$row['nama']] = $no;
/*----- Echo Your results ------*/
echo $row['nama'].'<br>';
echo ' Transaction No ='.$no.'<br>';
/*----- Increase Number Value ------*/
$no ;
}
比在第二個回圈中,您可以簡單地從新創建的陣列中獲取交易編號,例如:
foreach($result as $row){
echo $row['nama'].'<br>';
echo 'Product Name ='.$row['product'].'<br>';
echo 'Transaction No ='.$trnoArr[$row['nama']].'<br>'; // Like here
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/406109.html
標籤:
