我有一個查詢從數據庫中選擇所有內容。然後,我使用foreach語句循環顯示結果。我在數據庫中有一個名爲CODE的列。使用switch語句循環SQL查詢結果PHP
此列包含數字,如21,55,51,11。有時候每行都有一個以上的代碼。
我想遍歷結果並將該行的收費代碼放入其自己的數組中。該數組必須包含一定數量的索引。
例如。如果行包含代碼21和11,此結果的陣列將
Array(
[0]=>21
[1]=>0
[2]=>0
[3]=>11
)
所以這是在零的索引放入數組行包含的代碼21。然後它查找不在那裏的代碼55,因此它將第一個索引處的值設置爲0。尋找代碼51也是不存在的,所以它在第二個索引中輸入0。然後它會查找代碼11,因此它將11放在第三個索引中。
我該怎麼做?我嘗試使用switch語句,但是如果行中有多個代碼,它會插入大量的零。
SQL查詢
$sql_query2 = $DFS->prepare("
select
*
from
TABLE
where
REFERENCE= '".$ref."'
");
$sql_query2->execute();
$result2 = $sql_query2->fetchall();
我目前在做
foreach($result2 as $row2) {
switch($row2[ 'CODE' ]) {
case "21":
$some_new_array[] = $row2[ 'AMOUNT' ];
$some_new_array[] = "0";
$some_new_array[] = "0";
$some_new_array[] = "0";
break;
case "55":
$some_new_array[] = $row2[ 'AMOUNT' ];
$some_new_array[] = "0";
$some_new_array[] = "0";
$some_new_array[] = "0";
break;
case "51":
$some_new_array[] = $row2[ 'AMOUNT' ];
$some_new_array[] = "0";
$some_new_array[] = "0";
$some_new_array[] = "0";
break;
case "11":
$some_new_array[] = $row2[ 'AMOUNT' ];
$some_new_array[] = "0";
$some_new_array[] = "0";
$some_new_array[] = "0";
break;
}
}
上面的代碼是什麼,如果有該行中一個代碼將工作。例如。如果有代碼21,它將輸入數量和3個零。但是如果有代碼21和代碼55,它將輸入兩個數字和6個零。
如果引用有兩個代碼,例如21和4.每個代碼將有兩行。
標識得到任何幫助和指針。謝謝。
對不起,請檢查更新後的帖子 –