好吧,现在我试图让一个列表使用while循环从mysql回显出来,但正如你在这里可以看到http://institute4se.com/plan/它的回显顺序错误。为什么?PHP MYSQL循环与if语句回显错误的顺序
if语句的原因是仅当循环到达新子节的开始时才使div的顶部和底部部分回显。
如果我删除if语句,该列表会按顺序回显,但是div的开头和结尾都回显每个循环。
你可以在这里看到我的数据库又名$信息:http://i.stack.imgur.com/QMO2X.png http://i.stack.imgur.com/RsHdb.png
就如何解决它有什么想法?
while($info = mysql_fetch_array($data))
{
if($info['subsection']=='0'){
echo "
<div class='menuSection'>
<div class='sectionHeader' id='header".$info['section']."'><img src='images/status_circ_empty.gif' alt='Section Empty' /><a href='index.php?s=".$info['section']."&ss=".$info['subsection']."'>".$titleArr[$info['section']]."</a><img src='images/arrow_".$currentArrow.".gif' alt='Arrow' class='arrow' /></div>
<ul class='sectionSubmenu' id='section".$info['section']."' style='display:".$currentSection."'>
";
}
else{
echo "<li><img src='images/status_circ_empty.gif' alt='Section Empty' /><a href='index.php?s=".$info['section']."&ss=".$info['subsection']."'>".$info['title']."</a></li>";
}
if($info['subsection']=='0'){
echo"
</ul>
</div>
";
}
}
是不是只是,你有从其他行中,如果主要比特的复制?编辑:看起来你已经从你的问题中删除了那段代码,所以我猜测不是这样! – Ben 2011-06-09 14:31:08
我不知道你在问什么。 – 2011-06-09 14:31:53
你正在运行的底层查询是什么? PHP中没有任何内容会重新排序结果,除非您将代码结构化,以使其变得不可靠。所以...可能你的查询排序错误。如果您按部分ID号而不是部分名进行排序,则无疑会得到“不良”订购。 – 2011-06-09 14:42:13