php - 如何通过限制每 4 个结果来分隔 php mysqli 结果

标签 php mysql mysqli

我正在尝试使用 php mysqli 函数从数据库中获取结果,在那里我可以成功获取所有结果,但它们都显示在同一行中。如何让它们在显示 4 个结果后分隔行?

假设我在数据库中总共有 8 个结果。因此,如果我使用 while 循环来获取数据并回显它,它应该是这样的:

data1 data2 data3 data4 data5 data6 data7 data8

但是如何让它像这样显示:

data1 data2 data3 data4 
data5 data6 data7 data8

这是示例硬编码 div 结果:

 <div class="row">
    <div id="portofolio">
        <!-- Project 1-->
        <div class="three columns category trains">
            <h5>Sponsor 1</h5>
            <p>
                 Lorem ipsum dolor sit amet, consectetur adipisicing elit.
            </p>
            <div class="portofoliothumb">

              <img src="images/temp/logo1.jpg" class="fourimage" alt=""/>
            </div>
        </div>
        <!-- Project 2-->
        <div class="three columns category castles">
            <h5>Sponsor 2</h5>
            <p>
                 Lorem ipsum dolor sit amet, consectetur adipisicing elit.
            </p>
            <div class="portofoliothumb">

              <img src="images/temp/logo2.jpg" class="fourimage" alt=""/>
            </div>
        </div>
        <!-- Project 3-->
        <div class="three columns category nature">
            <h5>Sponsor 3</h5>
            <p>
                 Lorem ipsum dolor sit amet, consectetur adipisicing elit.
            </p>
            <div class="portofoliothumb">

              <img src="images/temp/logo7.jpg" class="fourimage" alt=""/>
            </div>
        </div>
        <!-- Project 4-->
        <div class="three columns category castles">
            <h5>Sponsor 4</h5>
            <p>
                 Lorem ipsum dolor sit amet, consectetur adipisicing elit.
            </p>
            <div class="portofoliothumb">

              <img src="images/temp/logo3.jpg" class="fourimage" alt=""/>
            </div>
        </div>
        <!-- Project 5--><!-- Project 6--><!-- Project 7-->

        <!-- Project 8-->

    </div>
</div>

 <div class="row">
    <div id="portofolio">
        <!-- Project 1-->
        <div class="three columns category trains">
            <h5>Sponsor 5</h5>
            <p>
                 Lorem ipsum dolor sit amet, consectetur adipisicing elit.
            </p>
            <div class="portofoliothumb">

              <img src="images/temp/logo4.jpg" class="fourimage" alt=""/>
            </div>
        </div>
        <!-- Project 2-->
        <div class="three columns category castles">
            <h5>Sponsor 6</h5>
            <p>
                 Lorem ipsum dolor sit amet, consectetur adipisicing elit.
            </p>
            <div class="portofoliothumb">

              <img src="images/temp/logo5.jpg" class="fourimage" alt=""/>
            </div>
        </div>
        <!-- Project 3-->
        <div class="three columns category nature">
            <h5>Sponsor 7</h5>
            <p>
                 Lorem ipsum dolor sit amet, consectetur adipisicing elit.
            </p>
            <div class="portofoliothumb">

              <img src="images/temp/logo8.jpg" class="fourimage" alt=""/>
            </div>
        </div>
        <!-- Project 4-->
        <div class="three columns category castles">
            <h5>Sponsor 8</h5>
            <p>
                 Lorem ipsum dolor sit amet, consectetur adipisicing elit.
            </p>
            <div class="portofoliothumb">

              <img src="images/temp/logo6.jpg" class="fourimage" alt=""/>
            </div>
        </div>
        <!-- Project 5--><!-- Project 6--><!-- Project 7-->

        <!-- Project 8-->
    </div>  
    </div>

这是我要显示结果的 php 代码,但我不知道如何将结果与 4 分开并转到下一行并显示。

PHP 代码在这里:

<?php
    include 'dbConnection.php';

    global $dbLink;



    $image = "SELECT * FROM sponsor_item where sponsor_data !='' ";
    $result=mysqli_query($dbLink,$image);   

    // Numeric array
    while($row=mysqli_fetch_array($result,MYSQLI_ASSOC)){


    ?>
     <div class="row">
        <div id="portofolio">
            <!-- Project 1-->
            <div class="three columns category trains">
                <h5>Sponsor 1</h5>
                <p>
                     Lorem ipsum dolor sit amet, consectetur adipisicing elit.
                </p>
                <div class="portofoliothumb">

                  <img style="margin-left: 0px; margin-top: -218.375px; width: 100%; height: 1150px;" src="data:image/jpeg;base64,<?php echo base64_encode($row['sponsor_data']); ?>" alt="image0<?php echo $row['sponsor_item_id']; ?>">   
                </div>
            </div>
    </div>
    <?php 
    }
    mysqli_free_result($result);
    // Close the mysql connection
    $dbLink->close();
    ?>

最佳答案

您需要添加一个计数器并查看计数器值何时是 4 的倍数。如果是这种情况,只需回显 DIV 结束标记和一个新的 DIV 开始标签。您还需要从 WHILE 循环中排除第一个和最后一个 DIV 标签:

<?php
include 'dbConnection.php';

global $dbLink;



$image = "SELECT * FROM sponsor_item where sponsor_data !='' ";
$result=mysqli_query($dbLink,$image);   

$item = 0;

?>
 <div class="row">
    <div id="portofolio">
<?php
// Numeric array
while($row=mysqli_fetch_array($result,MYSQLI_ASSOC)){
?>
        <!-- Project 1-->
        <div class="three columns category trains">
            <h5>Sponsor 1</h5>
            <p>
                 Lorem ipsum dolor sit amet, consectetur adipisicing elit.
            </p>
            <div class="portofoliothumb">

              <img style="margin-left: 0px; margin-top: -218.375px; width: 100%; height: 1150px;" src="data:image/jpeg;base64,<?php echo base64_encode($row['sponsor_data']); ?>" alt="image0<?php echo $row['sponsor_item_id']; ?>">   
            </div>
        </div>
    <?php 
    $item++;
    if ($item % 4 == 0) { echo '</div></div><div class="row"><div id="portofolio">'; }
}
mysqli_free_result($result);
// Close the mysql connection
$dbLink->close();
?>
    </div>
</div>

关于php - 如何通过限制每 4 个结果来分隔 php mysqli 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28837781/

相关文章:

php - 试图获取非对象的属性 'role'

php - 检测 PHP mysqli 中的空列值

php - Mysql - 查找以字符串开头的短语并删除其后的所有内容

php - 新的 MongoDB\BSON\Regex 搜索带有撇号或括号的文本

mysql - 使用 NHibernate 不可能吗?

php - 如何使用 Laravel Eloquent ORM 搜索加密值?

php - mysql中列之间的平均值

javascript - 简单形式不传递所有变量?

php - Directadmin + Nginx + php fpm + 位置 : File not found

PHP/MySQL 与 CSV 数组连接