1

我想以这样一种方式显示我的复选框,即在计数 4 后,下一行显示最多 4 个,然后在下一行再次中断。在我尝试但没有成功的代码之后 -

<?php 
  $i=1;
  while($row=mysql_fetch_array($result)) {
    if( $i<5 ) {
?>
      <input type="checkbox" id="<?=$row['CategoryName']?>" name="<?=$row['CategoryName']?>" /><?=$row['CategoryName']?>
<?
      $i++;
    }
?>
  <br />
<?php
  $i=1;
  }
?>
4

9 回答 9

3

我建议这样做:

<?php 
$i=0;
while($row=mysql_fetch_array($result)) 
{
    ?>
    <input type="checkbox" id="<?=$row['CategoryName']?>" name="<?=$row['CategoryName']?>" /><?=$row['CategoryName']?>
    <?php
    $i++
    if ( $i % 4 == 0 ) echo '<br />';
    }
?>
于 2012-05-29T10:09:28.000 回答
1

使用 jQuery .eq()- http://api.jquery.com/eq/

检查这里的代码 - http://dipaksblogonline.blogspot.in/2011/01/ul-count-li-elements-display-in.html

于 2012-05-29T10:06:12.540 回答
1

使用if (fmod($i, 4) == 0)代替if ($i < 5)

于 2012-05-29T10:07:40.243 回答
1

试试这个:

$i=0;
while($row=mysql_fetch_array($result)) { 
    $i++;
    echo '<input type="checkbox" id="'.$row['CategoryName'].'" name="'.$row['CategoryName'].'" />'.$row['CategoryName'];
    if($i % 4 == 0) {
        echo '<br />';
    }
}
于 2012-05-29T10:08:16.937 回答
1

您可以使用模运算符来实现此目的。例子:

<?php
for($i = 0; $i < 20; $i++) {
    echo $i . "&nbsp;";
    if ($i % 4 == 3)
        echo "<br />";
}

产量

0 1 2 3 
4 5 6 7 
8 9 10 11 
12 13 14 15 
16 17 18 19 
于 2012-05-29T10:09:00.557 回答
1

嗨,请尝试下面给出的代码

<?php 
   $i=1;
   while($row=mysql_fetch_array($result)) {
   if( $i<5 ) {
 ?>
     <input type="checkbox" id="<?php echo $row['CategoryName']; ?>"  
      name="?=$row['CategoryName']?>" /> 
<?php 
    echo $row['CategoryName']; 
    $i++;
  }else{
?>
 <br />
 <?php
 $i=1;
 }
}
?>

谢谢

于 2012-05-29T10:13:29.180 回答
1
$i = 1;
for($x = 0; $x < 20; $x++) {
echo "your element here";
if($i%4==0){
echo "</br>";
}
$i++;
}

问候:TechNew.In

于 2012-05-29T10:22:04.950 回答
1

你有很多现成的解决方案的答案,所以而不是写更多的代码,我会建议你一个系统的方法:
从写算法开始,然后写代码。

  1. I want to iterate through my set of data:

    // while row
        // echo input
    // end while
    
  2. I want a linebreak after a predefined number of inputs:

    // break_after = 4
    // initiate counter (counter = 0)
    // while row
        // increment counter
        // echo input
        // if counter == break_after
            // echo linebreak
            // reset counter
    // end while
    
  3. Replace comments with code:

    die('Piece of cake...');
    

    (I said I will not write code. You already know how to do it.)

于 2012-05-29T10:25:09.110 回答
0

这样做: -

<?php 
    $i=1;
    while($row=mysql_fetch_array($result)) 
    {
       if( $i<5 )
        {                           
?>
<input type="checkbox" id="<?=$row['CategoryName']?>" name="<?=$row['CategoryName']?>" /><?=$row['CategoryName']?>
<?php
        $i++;
        }
       else {
    ?>
    <br />
    <?php
        $i=1;
       }
    }    
?>
于 2012-05-29T10:11:45.200 回答