繁体   English   中英

如何在 PHP 中显示数据库中的数据,其中每出现 4 个数据,然后将其他数据放在下面

[英]How to display data in PHP from a database where every 4 data that appears then the other data is placed below

目前我正在制作一个 PHP 应用程序,它通过脚本显示数据库中的数据,如下所示:

<!DOCTYPE html>
<html>
  <head>
    <style>
      table{
      border-collapse:separate;
      border-spacing: 10px 15px;
      }
      th,td{
      width: 150px;
      text-align: center;
      border: 1px solid black;
      padding: 5px;
      }
    </style>
  </head>


<body>

<table border="1">

<?php
$conn = mysqli_connect('localhost','root','qwerty','example');
$data = mysqli_query($conn,"select letter from office");
while($d = mysqli_fetch_array($data)){
?>

<td><?php echo $d['letter']; ?></td>

<?php
}
?>
</table>
</body>

结果如下:

ABCDEFGHIJKL

原始结果

我希望结果如下:

A B C D

EFGH

IJKL 预期结果

每行只有4个数据。

如果数据超过4条,数据放在下面。

我该怎么做呢?

<!DOCTYPE html>
<html>
  <head>
    <style>
      table{
      border-collapse:separate;
      border-spacing: 10px 15px;
      }
      th,td{
      width: 150px;
      text-align: center;
      border: 1px solid black;
      padding: 5px;
      }
    </style>
  </head>


<body>

<table border="1">

<?php
$counter=1;
$conn = mysqli_connect('localhost','root','qwerty','example');
$data = mysqli_query($conn,"select letter from office");
while($d = mysqli_fetch_array($data)){
?>
if($counter <= 4){
  <td><?php echo $d['letter']; ?></td>
}else{
  echo"\n";
  $counter=0;
 }
<?php
}
?>
</table>
</body>

我不确定代码正在运行,但我认为这会对您有所帮助。 你可以使用
也标记一个回声部分。

您可以运行if条件来实现,如下所示。 您要做的是在每四条记录后打破线路。 所以有很多方法可以实现这一点。 但我认为使用模块运算符可以轻松实现这一点。 有关这些运算符的更多信息,请在此处查看 w3c

<?php
$i = 1;
$conn = mysqli_connect('localhost','root','qwerty','example');
$data = mysqli_query($conn,"select letter from office");
while($d = mysqli_fetch_array($data)){
?>

<td>
<?php

if ($i%4 ==0) { 
echo '<br>'; 
}else{
 echo $d['letter'];} ?></td>
}
$i++;
<?php
}
?>
<!DOCTYPE html>
    <html>
      <head>
        <style>
          table{
          border-collapse:separate;
          border-spacing: 10px 15px;
          }
          th,td{
          width: 150px;
          text-align: center;
          border: 1px solid black;
          padding: 5px;
          }
        </style>
      </head>


    <body>

    <table border="1">
    <tr>
    <?php
    $conn = mysqli_connect('localhost','root','qwerty','example');
    $data = mysqli_query($conn,"select letter from office");
    $i=1;
    while($d = mysqli_fetch_array($data)){
    ?>

    <td><?php echo $d['letter']; ?></td>
    <?php
    if($i==4){
    echo '</tr><tr>';
    $i=0;
    }
    $i++;
    }
    ?>
    </tr>
    </table>
    </body>

所以在你的 while 循环中,你只是告诉它打印 td html 标签。 哪些是表数据标签。

要添加行,您还需要使用 tr 标签。 tr,是表行。 它就像一个excel表格。 tr 是行,td 是单个单元格。

所以回到你的代码。

$data = mysqli_fetch_array($data)

foreach ($data as $id->$d) {
    if($id == 0) {
        echo '<tr><td>' . $d['letter'] . '</td>'; 
    } 
    else if($id%4 == 0) {
        echo '</tr><tr><td>' . $d['letter'] . '</td>'; 
    }
    else {
        echo '<td>' . $d['letter'] . '</td>'; 
    }
}
echo '</tr>'; 
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM