0
使用PDO的尊重,我收到1+行,把它們變成一個這樣的數組:
PDO - 的foreach使用Array
while($row = $car_sales->fetch(PDO::FETCH_ASSOC)){
$car_id_array[] = $row["car_id"];
$car_type_array[] = $row["car_type"];
$dealer_id_array[] = $row["dealer_id"];
$buyer_id_array[] = $row["seller_id"];
}
我想簡單地「混合」的陣列的每一級採取行動作爲一個單元並一起沿着foreach循環,按順序提交$ q查詢。換言之,這樣的事情:
foreach($dealer_id_array as $dealer_id) {
if ($car_type=='new') {
if ($dealer_id==$buyer_id){
$q = 'UPDATE car_sales SET new_cars=new_cars+1 WHERE dealer_id=:dealer_id';
} else if ($dealer_id!=$buyer_id){
$q = 'UPDATE car_sales SET new_cars=new_cars-1 WHERE dealer_id=:dealer_id';
} else if ($car_type=='old') {
if ($dealer_id==$buyer_id){
$q = 'UPDATE car_sales SET old_cars=old_cars+1 WHERE dealer_id=:dealer_id';
} else if ($dealer_id!=$buyer_id){
$q = 'UPDATE car_sales SET old_cars=old_cars-1 WHERE dealer_id=:dealer_id';
}
$car_update = $dbhandle->prepare($q);
$car_update->execute(array(':dealer_id' => $dealer_id));
}
環路應與第一陣列值運行,如果僅存在一個從while循環檢索到的值。如果還有更多,那麼foreach應該運行的次數與while循環中的dealer_ids一樣多,同時要遵守順序。這個例子不起作用,但我正在尋找可能的解決方案來正確地解決這個問題。你認爲最有效的方法是什麼?
很好用,謝謝pburgess。代碼應該說「for」,而不是「foreach」循環工作雖然:)我試過編輯它,但它需要更多的變化,以允許編輯,也許你可以編輯它?再次感謝! – Maverick
對不起,錯字,我現在修正了這個例子。 – CodePB