PHP/HTML-如何从同一个$“世界其他地区”;不同的条件并排?

PHP/HTML-如何从同一个$“世界其他地区”;不同的条件并排?,php,html,Php,Html,我的php代码使用带有“if”条件的“foreach”循环和来自SQL的数据。我想根据条件将结果分为两列。代码如下: foreach($data as $row) { if($row['Code'] == 235 && $row['PR'] == 592735 && $row['Status'] == "todo" ) { echo "<tr><td>" . $row['Column'] .

我的php代码使用带有“if”条件的“foreach”循环和来自SQL的数据。我想根据条件将结果分为两列。代码如下:

foreach($data as $row) {

if($row['Code'] == 235 && $row['PR'] == 592735 && $row['Status'] == "todo" ) {
    echo "<tr><td>" . $row['Column'] . "</td>";
    
    }
if($row['Code'] == 235 && $row['PR'] == 592705 && $row['Status'] == "todo") {
    echo "<td>" . $row['Column'] . "</td>";

}
echo "</tr>";

}
foreach($data作为$row){
如果($row['Code']==235&&$row['PR']==592735&&$row['Status']==todo”){
回显“$行['列]”;
}
如果($row['Code']==235&&$row['PR']==592705&&$row['Status']==todo”){
回显“$行['列]”;
}
回声“;
}
我现在的问题是,所有行都打印在一列中,就像列表一样,如下所示:

纵队 行(条件1) 行(条件1) 行(条件2) 行(条件2) 你试过这个吗? 若第一个条件为结果填充第一列,第二个为空,否则第一列为空,第二列为数据

foreach($data as $row) {

echo "<tr>";
if($row['Code'] == 235 && $row['PR'] == 592735 && $row['Status'] == "todo" ) {
    echo "<td>" . $row['Column'] . "</td>";
    echo "<td></td>";
}
if($row['Code'] == 235 && $row['PR'] == 592705 && $row['Status'] == "todo") {
    echo "<td></td>";
    echo "<td>" . $row['Column'] . "</td>";

}
echo "</tr>";

}
foreach($data作为$row){
回声“;
如果($row['Code']==235&&$row['PR']==592735&&$row['Status']==todo”){
回显“$行['列]”;
回声“;
}
如果($row['Code']==235&&$row['PR']==592705&&$row['Status']==todo”){
回声“;
回显“$行['列]”;
}
回声“;
}

只需将数组拆分为两个数组,然后使用生成的数组生成html

$condition1 = $condition2 = [];
foreach($data as $row) {
    if($row['Code'] == 235 && $row['PR'] == 592735 && $row['Status'] == "todo" ) {
        $condition1[] =  $row['Column'];
    }
    if($row['Code'] == 235 && $row['PR'] == 592705 && $row['Status'] == "todo") {
        $condition2[] = $row['Column'];
    }
}

for($k=0; $k < max(count($condition1),count($condition2));$k++) {
    echo '<tr><td>'.($condition1[$k] ?? '').'</td><td>'. ($condition2[$k] ?? '').'</td></tr>';
}
$condition1=$condition2=[];
foreach($行数据){
如果($row['Code']==235&&$row['PR']==592735&&$row['Status']==todo”){
$condition1[]=$row['Column'];
}
如果($row['Code']==235&&$row['PR']==592705&&$row['Status']==todo”){
$condition2[]=$row['Column'];
}
}
对于($k=0;$k
在打印结果之前,您似乎需要重新格式化结果。每个列的元素数是否总是相等?请将您的
echo''
放在第一个条件之外,就像前面一样。@El_Vanja否元素数并不总是相同的same@GetSet我试过了,但也不起作用。在这种情况下,纳撒尼尔的答案似乎是最优的。问题是“”在条件内创建一行。不应该是这种情况,这一点在条件外的结束“”中很明显。这是有效的,但不像我所想的那样。第1列和第2列中的单元格不是内联的,因此它提供空单元格。