我所要做的就是结束当前,并每10个结果开始一个新的UL
下面是我的代码,它不能100%地工作:
$sql1 = mysql_query("select * from `provinces` order by `name` asc");
while ($row1 = mysql_fetch_assoc($sql1))
{
echo '<li id="popup_'.strtolower(str_replace(' ', '_', $row1['name'])).'">';
echo '<ul>';
$sql2 = mysql_query("select * from `cities` where `id_province`='".$row1['id']."' order by `name` asc");
$count = 1;
while ($row2 = mysql_fetch_assoc($sql2))
{
if ($count % 10 == 0)
echo '</ul>';
echo '<li>'.$row2['name'].'</li>';
if ($count % 10 == 0)
echo '<ul>';
$count++;
}
echo '</ul>';
echo '</li>';
}发布于 2011-06-05 03:55:53
替换这个
if ($count % 10 == 0)
echo '</ul>';使用
if ($count % 10 == 0)
echo '</ul><ul>';并完全删除第二个检查
if ($count % 10 == 0)
echo '<ul>';否则你的html就会搞砸。
//我花了一些时间才得到答案,因为这个问题不容易识别:)
发布于 2011-06-05 04:04:37
所以它应该在10个结果后与新的ul一起工作...如果您想在每10个结果之前设置它,则必须在li输出之前设置if块。
$sql1 = mysql_query("select * from `provinces` order by `name` asc");
while ($row1 = mysql_fetch_assoc($sql1))
{
echo '<li id="popup_'.strtolower(str_replace(' ', '_', $row1['name'])).'">';
echo '<ul>';
$sql2 = mysql_query("select * from `cities` where `id_province`='".$row1['id']."' order by `name` asc");
$count = 1;
while ($row2 = mysql_fetch_assoc($sql2))
{
echo '<li>'.$row2['name'].'</li>';
if ($count % 10 == 0)
echo '</ul><ul>';
$count++;
}
echo '</ul>';
echo '</li>';
}https://stackoverflow.com/questions/6239033
复制相似问题