动态加载
    并分成5行的列

| 好的,我想我会把它放在那里。我的数据库中有25个条目的列表,我希望以列表形式以5列5行的形式显示在页面上。 我准备了一个解决方案,尽管不是那么优雅。
<?php

                            $query = \"SELECT * FROM city ORDER BY name ASC\";
                            $result = mysql_query($query, $connection);
                            confirm_query($result);

                            echo \"<ul class=\\\"floatleft\\\">\";

                            $counter = 1;
                            while ($row = mysql_fetch_array($result)) {

                            if ($counter <= 5) {

                                    echo \"<li>{$row[\"name\"]}</li>\";
                                    $counter = $counter + 1;

                                        if ($counter == 6) {
                                            echo \"</ul>\";
                                        }

                                } elseif($counter > 5 && $counter <= 10) {

                                        if ($counter == 6){
                                            echo \"<ul class=\\\"floatleft\\\">\";
                                        }
                                    echo \"<li>{$row[\"name\"]}</li>\";

                                    $counter += 1;

                                        if ($counter == 11) {
                                            echo \"</ul>\";
                                        }

                                } elseif($counter > 10 && $counter <= 15) {

                                        if ($counter == 11){
                                            echo \"<ul class=\\\"floatleft\\\">\";
                                        }

                                    echo \"<li>{$row[\"name\"]}</li>\";

                                    $counter += 1;

                                        if ($counter == 16) {
                                            echo \"</ul>\";
                                        }
                                } elseif($counter > 15 && $counter <= 20) {

                                        if($counter == 16){
                                            echo \"<ul class=\\\"floatleft\\\">\";
                                        }

                                    echo \"<li>{$row[\"name\"]}</li>\";

                                    $counter += 1;

                                        if ($counter == 21) {
                                            echo \"</ul>\";
                                        }

                                } elseif($counter > 20 && $counter <= 25) {

                                    if($counter == 21){
                                        echo \"<ul class=\\\"floatleft\\\">\";
                                    }

                                echo \"<li>{$row[\"name\"]}</li>\";

                                    $counter += 1;

                                        if ($counter == 26) {
                                            echo \"</ul>\";
                                        }

                                }

                            }

                        ?>
这将输出以下内容
<ul class=\"floatleft\">
<li>Belfast</li>
<li>Birmingham</li>
<li>Brighton</li>
<li>Bristol</li>
<li>Cambridge</li>
</ul>
<ul class=\"floatleft\">
<li>Cardiff</li>
<li>Carlisle</li>
<li>Edinburgh</li>
<li>Glasgow</li>
<li>Hull</li>
</ul>
<ul class=\"floatleft\">
<li>Lancaster</li>
<li>Leeds</li>
<li>Leicester</li>
<li>Liverpool</li>
<li>London</li>
</ul>
<ul class=\"floatleft\">
<li>Manchester</li>
<li>Newcastle</li>
<li>Norwich</li>
<li>Nottingham</li>
<li>Oxford</li>
</ul>
<ul class=\"floatleft\">
<li>Plymouth</li>
<li>Portsmouth</li>
<li>Southampton</li>
<li>Swansea</li>
<li>York</li>
</ul>
有人知道这样做的更好方法吗?我仍然对php还是陌生的,我知道必须有一个更好,更整洁的方法来做到这一点。     
已邀请:
echo \'<ul class=\"floatleft\">\';
for($i=0;$i<mysql_num_rows($result);$i++){
  $row = mysql_fetch_array($result)

  if($i%5==0)
    echo \'</ul><ul class=\"floatleft\">\';

  echo \"<li>{$row[\'name\']}</li>\";
}

echo \'</ul>\';
这样的事情应该起作用。     
像这样将记录添加到1
ul
怎么样: http://jsfiddle.net/RC2jN/ 这样,如果您添加
li
仍然可以使用     
有很多人会告诉您不要使用表,但是我认为,如果您将数据放入类似表格的格式中,那就是为什么首先创建Table元素的原因。使用列表有特殊原因吗?
$cols = 5;
$count = 0;
echo(\"<table><tr>\");
while($row = mysql_fetch_array($result)) {
    if($count % $cols == 0)
        echo(\"</tr><tr>\");
    echo(\"<td>\" . $row[\'name\'] . \"</td>\");
    $count++;

}

echo(\"</tr></table>\");
    
您可以使用mod运算符正确执行此操作。
<?php

  $query = \"SELECT * FROM city ORDER BY name ASC\";
  $result = mysql_query($query, $connection);
  confirm_query($result);

  $counter = 0;
  while ($row = mysql_fetch_array($result)) {

  if (($counter % 5) == 0)
    echo \"<ul class=\\\"floatleft\\\">\";

  echo \"<li>{$row[\"name\"]}</li>\";

  }

?>
    
我试过了,但是其他人都快哈哈!
$query = \"SELECT * FROM city ORDER BY name ASC\";
$result = mysql_query($query, $connection);
confirm_query($result);
$qty = 4;
$count = 0;
while ($row = mysql_fetch_array($result)) {
    if ($count == 0)
        echo \"<ul class=\\\"floatleft\\\">\";
    echo \"<li>{$row[\"name\"]}</li>\";
    $count++;
    if($count == $qty){
        echo \"<\\ul>\";
        $count = 0;
    }

}
    

要回复问题请先登录注册