如何计算 while() 之前的行数

How to count rows before while()

我需要在 while() 之前计算行数。

页面上有 10 个问题。左边5个问题,右边5个问题。

看起来像这样:

<div class="left"> 

<div>question 1</div>
<div>question 2</div>
<div>question 3</div>
<div>question 4</div>
<div>question 5</div>
</div> <!-- /left close --> 

<div class="right"> 

<div>question 6</div>
<div>question 7</div>
<div>question 8</div>
<div>question 9</div>
<div>question 10</div>
</div> <!-- /right close -->

数据来自 mysql.

你的问题不清楚,但从你的问题标题来看 - 你可以在 while 循环之前获得行数 mysql_num_rows ($result ) 请在此处查看完整文档 http://php.net/manual/en/function.mysql-num-rows.php

假设你正在使用 PDO,如果行来自数据库,那么你可以在执行你的语句后做这样的事情:

$count = $stmt->rowCount();

并像这样在 while 循环中使用 $count

<?php
    $question_number    =   1;
    $while($question_number <= $count){

    //Your code goes here:

    $question_number++;
    }
?>

希望对您有所帮助。

使用这个示例:

<?php 
 $dir = 'left';
 $count = 0;
 foreach($data as $row):
   $count++;
   if($count%5==1):
   ?>
    <div class="<?php echo $dir?>"> 
    <?php
     $dir = 'right';
   endif;
   ?>
    <div>question <?php echo $count?></div>
   <?php
   if($count%5==0 || $count == sizeof($data)):
   ?>
      </div> 
   <?php
   endif;
 endforeach;
 ?>