我正在从此代码中生成我的复选框。但是,我很难通过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>';
?>
答案 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++;
}
?>