2011-06-09 60 views
-4

好吧,现在我试图让一个列表使用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> 
"; 
} 
} 
+0

是不是只是,你有从其他行中,如果主要比特的复制?编辑:看起来你已经从你的问题中删除了那段代码,所以我猜测不是这样! – Ben 2011-06-09 14:31:08

+2

我不知道你在问什么。 – 2011-06-09 14:31:53

+0

你正在运行的底层查询是什么? PHP中没有任何内容会重新排序结果,除非您将代码结构化,以使其变得不可靠。所以...可能你的查询排序错误。如果您按部分ID号而不是部分名进行排序,则无疑会得到“不良”订购。 – 2011-06-09 14:42:13

回答

0

这是任何固定的代码是谁感兴趣:

while($info = mysql_fetch_array($data)) 
{ 

    // if the current subsection is a new section 
    if($info['subsection']==0){ 
    // if the current section is NOT the first section 
    if($info['section']!=0){ 
    // end the section div 
    echo " 
      </ul> 
    </div> 
    "; 
    } 

    // start the section div and add the section header 
    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."'> 
     <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 the current section is not a new section 
    else{ 
     // add the next submenu item 
     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>"; 
    } 
} 
echo" 
    </ul> 
</div> 
"; 
0

您需要订购记录,请将ORDER BY subsection ASC添加到查询中。