我有一个查询从数据库中选择所有内容。然后,我使用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.每个代码将有两行。
标识得到任何帮助和指针。谢谢。
对不起,请检查更新后的帖子 –