php:WHILE连续显示数据

时间:2017-03-02 02:05:49

标签: php html mysql

好的,我有一个名为用户的表格,该表格中包含:

----------------------------------
Grade 1 
----------------------------------
Table 1          |    Table 2
                 |
                 |

基本上,我有 6年级1年级学生 6年级2年级学生。我想根据他们的成绩使用双列表显示它们:

$sql = "SELECT * FROM users WHERE grade = '$grade1' LIMIT 3";
$result = mysqli_query($connectdb,$sql);

while($row=mysqli_fetch_assoc($result)) {
   $name = $row['name'];
   echo "<tr>";
   echo "<td>";
   echo $name;
   echo "</td>";
   echo "</tr>";

}

这样做的目的是我想通过不在一列中显示所有等级1来节省空间,我希望每个显示表1 表2 3个等级1,基于记录。

我尝试使用此代码:

----------------------------------
Grade 1 
----------------------------------
Table 1          |Table 2
   Ben           |  Ben
   Cathy         |  Cathy
   Tom           |  Tom

我把它放在表1 表2 上。有效。但是两个表都显示相同的名称:

----------------------------------
Grade 1 
----------------------------------
Table 1          |Table 2
   Ben           |  Mark
   Cathy         |  Lisa
   Tom           |  Bernard

我怎样才能使用这样的方式:

{{1}}

原谅我缺乏知识,我实际上是WHILE命令的新手。

1 个答案:

答案 0 :(得分:0)

问题是你只检索前3名学生数据并显示两次......

第一种方式有两种方式

$sql = "SELECT * FROM users WHERE grade = '$grade1'";

$result = mysqli_query($connectdb,$sql);

$i=0;
while($row=mysqli_fetch_assoc($result)) {
 if($i==0 || $i==3){
   echo "<table>"
 }
   $name = $row['name'];
   echo "<tr>";
   echo "<td>";
   echo $name;
   echo "</td>";
   echo "</tr>";
 if($i==0 || $i==3){
    echo "</table>"
 }
$i++;
}

第二种方式再加一个,这里你要检索剩下的3个学生数据,需要在不同的表中显示

$sql = "SELECT * FROM users WHERE grade = '$grade1' LIMIT 3,3";

$result = mysqli_query($connectdb,$sql);

while($row=mysqli_fetch_assoc($result)) {
   $name = $row['name'];
   echo "<tr>";
   echo "<td>";
   echo $name;
   echo "</td>";
   echo "</tr>";

}