问题
我从数据库中提取数据...使用WHILE循环&我希望将返回的数据耦合到"可扩展的大小"组。
我认为通过在while循环中使用FOREACH LOOP,我可以完成这个,显然我认为错了...... ARRG!
链接
在此处查看问题:http://sis-cr.com/NEWSTORE/store.php?cur_str=cel
CODE
$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的集体思想......并大声呼喊......帮助,我已编码,无法起床!
答案 0 :(得分:2)
我可能偏离轨道。我想你想要:
$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循环。
在看到你的评论后编辑。听起来你想要在UL中包含10个结果。要做到这一点,将会是这样的:
$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";