【发布时间】:2020-12-14 14:05:17
【问题描述】:
我是 PHP 初学者。我想根据特定条件打印行。例如,我有一组来自 SQL-Query 的数据(如下所示),我想仅在 Type = 210 和 Category = J 时打印 [Series no] 的所有行。我知道应该在此使用“foreach”循环情况,但我不知道怎么做。
这就是我尝试过的。我知道这是错误的,但正如我所说,我是初学者和自学。
$get_data = sqlsrv_query($connde, $mainquery);
$data_array = [];
while ($row = sqlsrv_fetch_array($get_data, SQLSRV_FETCH_ASSOC)) {
$data_array[$row["Type"]][$row["Category"]][$row["Series No"]][$row["End Date"]];
}
foreach ($data_array as $value1) {
if ($value1 = 210) {
foreach ($value1 as $value2) {
if isset($value2 == 'J')
echo "<td>" . $row["Series No"] . "</td>";
}
}
}
【问题讨论】:
-
while中的行没有执行任何操作,是否要将其分配给某个 var? -
$value1 = 210分配号码,你要$value1 == 210比较 -
SELECT * FROM SeriesNo WHERE Type = 235 AND Category = 'J'然后您只需打印所有返回的内容,无需在循环中进行过滤。 -
@AbraCadaver 是的,我愿意,但那是另一种情况。
-
好的,那么就像上面提到的@AbraCadaver。你的
while循环什么也没做。 @brombeer 对您的if的评论也需要更正。