好吧,現在我試圖讓一個列表使用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