Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP以有序方式显示数据库中的数据_Php_Html_Css - Fatal编程技术网

使用PHP以有序方式显示数据库中的数据

使用PHP以有序方式显示数据库中的数据,php,html,css,Php,Html,Css,我试图建立一个网页,有6行的图像。每行有4个图像,每个图像的正下方有一个标题。所以是这样的: 图像 文本文本文本文本 图像 文本文本文本文本 等等 这是我的代码: <?php $resultSet = $db->query("SELECT * FROM Articles"); if ($resultSet->num_rows != 0) { while ($rows = $resultSet->fetch_assoc()) { $image = $

我试图建立一个网页,有6行的图像。每行有4个图像,每个图像的正下方有一个标题。所以是这样的:

图像

文本文本文本文本

图像

文本文本文本文本

等等

这是我的代码:

<?php
$resultSet = $db->query("SELECT * FROM Articles");
if ($resultSet->num_rows != 0) {
    while ($rows = $resultSet->fetch_assoc()) {
        $image = $rows["image"];
        $text = $rows["text"];
        echo "<img class=images src=$image> <p  class=texts>$text</p>";
    }
}           
?>


这两个类都设置为
display:inline block
。代码打印文本旁边的每个图像。文本应位于图像下方。我正试图想办法以适当的格式显示图像和文本,但目前我似乎想不出任何解决方案。谁能给我一些启示

您应该能够使用div实现这一点。 下面的代码将添加到一行中

<?php
$resultSet = $db->query("SELECT * FROM Articles");
if ($resultSet->num_rows != 0) {
    $count = 0;
    while ($rows = $resultSet->fetch_assoc()) {
        $num_in_row = 4; // Number of items you want in each row
        if($count % $num_in_row == 0){
            echo '<div class="row">'; // if the row already has 4 items, add a new row.
        }
        $image = $rows["image"];
        $text = $rows["text"];
        echo "<span class='wrapper'>";
        echo '<img class="images" src='.$image.'> <div class="texts">'.$text.'</p>';
        echo "</span>";
        if($count % $num_in_row == ($num_in_row-1)){
            echo '</tr>';
        }
        $count++;
    }
} 
?>


这将为您提供一个类似于

仅设置的结果带有
显示:内联块
规则的
包装器

<?php
$resultSet = $db->query("SELECT * FROM Articles");
if ($resultSet->num_rows != 0) {
    while ($rows = $resultSet->fetch_assoc()) {
        $image = $rows["image"];
        $text = $rows["text"];
        echo "<div class='wrapper'>";
        echo "<img class=images src=$image> </br> <p  class=texts>$text</p>";
        echo "</div>";
    }
} 
?>

您可以在HTML中查找表格。@BigScar如果我创建一个表格,该如何工作?while循环将打印一次图像,然后转到下一行并打印文本。循环将再次循环并在同一行中打印另一个图像,并在下一行中打印文本。这将一直持续到同一行中有4个以上的图像和同一行中有4个以上的文本。请尝试显示:块而不是内联-block@NenadVracar如果我尝试display:block,那么每个图像和文本将打印在单独的行上,而不是我编辑代码的同一行上。基本上,它有一个特性,每次计数是4的倍数时,都可以添加一个新行。我还没有试过,但请告诉我你看到了什么,我回家后会回复