PHP For Loop动态来自数据库

时间:2013-01-25 05:55:20

标签: php

我正在从此代码中生成我的复选框。但是,我很难通过5个输出生成它,然后一旦显示第5个输出,它应该跳到下一行。 非常感谢任何帮助。

<?php 
    $result=mysql_query("SELECT * FROM tbl_tourism_type order by type_name ");
    while($row = mysql_fetch_array($result))
    echo '<input type="checkbox" name="type" value='.$row['type_id'].'>'
            .'<label>'.$row['type_name']. '</label>'.'<br>'.'<br>';
?>

4 个答案:

答案 0 :(得分:1)

<?php 
$result=mysql_query("SELECT * FROM tbl_tourism_type order by type_name ");
$i=1;
while($row = mysql_fetch_array($result))
{
echo '<input type="checkbox" name="type" value='.$row['type_id'].'><label>'.$row['type_name']. '</label>';
if($i%5==0)
{
   echo "<br>";
}
$i++;
}
?>

答案 1 :(得分:0)

$result = mysql_query("SELECT * FROM tbl_tourism_type order by type_name ");
                $i=0;
                while($row = mysql_fetch_array($result)){
                if($i%5 == 0){
                 //skip to next line
                 //continue??
                 }
                echo '<input type="checkbox" name="type" value='.$row['type_id'].'>'.'
                <label>'.$row['type_name']. '</label>'.'<br>'.'<br>';                   
                $i++;
                }

答案 2 :(得分:0)

您的问题是如何跳过每第5个条目并改为换行?

试试这样:

<?php 
    $i=0;
    $result=mysql_query("SELECT * FROM tbl_tourism_type order by type_name ");
    while($row = mysql_fetch_array($result)) 
    {
        if (++$i % 5)
            echo sprintf ( '<input type="checkbox" name="type" value="%s">'
                          .'<label>%s</label>'."\n", 
                           htmlentities($row['type_id']), 
                           htmlentities($row['type_name']) );
        else
            echo "<br>\n";
    }
?>

除了迭代结果中的所有条目之外,只需使用一个计数器,每次迭代都会递增。然后,在迭代内部,如果计数器模5不为零,则仅输出当前条目。所以如果它不是5的干净倍数。

答案 3 :(得分:0)

这样做

<?php 
    $i =1;
    $result=mysql_query("SELECT * FROM tbl_tourism_type order by type_name ");
    while($row = mysql_fetch_array($result)){
    if($i == 5){
      echo "<br>";
      $i = 1;
    }
    else
    echo '<input type="checkbox" name="type" value='.$row['type_id'].'>'
            .'<label>'.$row['type_name']. '</label>';
    $i++;
}
?>