如何在 WHILE 循环中使用 FOREACH 循环来创建多个列

How can I use a FOREACH loop inside of a WHILE loop to create several columns

问题

我正在从我的数据库中提取数据...使用 WHILE 循环并且我希望将返回的数据耦合到 "scalable in size" 组中。

我认为通过在 while 循环中使用一个 FOREACH 循环,我可以完成这个,显然我想错了..ARRG!

LINK

在此处查看问题:http://sis-cr.com/NEWSTORE/store.php?cur_str=cel

代码

$queryCatz = mysqli_query($cxn, "SELECT DISTINCT idBrand FROM Products ");
while($list_of_xtras = mysqli_fetch_array($queryCatz)) {     

    $cur = 0;
    $rowNum = 1;
    foreach($list_of_xtras as $key => $value){

        if($cur == 0){
            echo '<ul style="border:2px solid purple;" class="theROW' . $rowNum . '">';
        }

        echo '    <li style="list-style:none;">' . $value. '</li>';

        if($cur == 2)
        {
            echo '</ul>';
            $cur = 0;
            $rowNum++;
        }
        else
        {
            $cur++;
        }
    }


}       

经过 3 小时 尝试解决此问题,并冒着暴露我明显缺乏理解的风险,我谦虚 在 SO 的集体思想面前鞠躬....并大喊...帮助,我已经编码,无法起床!

我可能跑偏了。我想你想要:

$queryCatz = mysqli_query($cxn, "SELECT DISTINCT idBrand FROM Products ");
while($list_of_xtras = mysqli_fetch_array($queryCatz)) {     
  $rowNum = 1;
  echo '<ul style="border:2px solid purple;" class="theROW' . $rowNum . '">\r\n';
  for($curr=0; $curr<2; $curr++){
    echo '\t<li style="list-style:none;">' . $list_of_xtras[$curr] . '</li>\r\n';
  }
  echo '</ul>';
  $rowNum++;
}

您似乎只是在寻找 2 个结果,所以我不知道 FOREACH 在这里是否最好。也许只是一个 FOR 循环。

编辑,看到你的评论后。听起来您想将 10 个结果包装在一个 UL 中。要做到这一点,它会是这样的:

$rowNum = 1;
echo '<ul style="border:2px solid purple;" class="theROW' . $rowNum . '">\r\n';
$queryCatz = mysqli_query($cxn, "SELECT DISTINCT idBrand FROM Products ");
while($list_of_xtras = mysqli_fetch_array($queryCatz)) {     
  if($rowNum % 10 == 0){
    echo '</ul><ul style="border:2px solid purple;" class="theROW' . $rowNum . '">\r\n';
  }
  echo '\t<li style="list-style:none;">' . $list_of_xtras[0] . '</li>\r\n';
  $rowNum++;
}
echo "</ul>\r\n";