【问题标题】:How to put MySQL results in Bootstrap items如何将 MySQL 结果放入 Bootstrap 项中
【发布时间】:2018-01-13 19:40:01
【问题描述】:

我想获取 MySQL 数据库的结果并将它们放入我网页中的“页面”中。

我拥有的是一个引导网页,我正在使用项目来显示帖子,但我想显示每个项目 5 个条目,而不是制作页面,我想将它们分类为项目以显示条目。

这可能吗?怎么可能?

我现在拥有并且可以工作的是以下代码:

<div class="item">
   div class="testimony-slide active text-center">

<?php

   $sql = "SELECT name,email,message FROM guestbook ORDER BY ID DESC LIMIT 5 OFFSET 0";
   $result = mysqli_query($conn, $sql) or die ("Could not access DB: " . mysql_error());

   while ($row = mysqli_fetch_assoc($result)) {

   echo "<figure>";
   echo "<img src=\"../images/guestbook.png\">";
   echo "</figure>";
   echo !empty($row['name']) ? ("<span>". $row['name'] . "</span>") : '';
   echo !empty($row['email']) ? ("<span>". $row['email'] . "</span>") : '';
   echo "<blockquote>";
   echo !empty($row['message']) ? ("<p>". $row['message'] . "</p>") : '';
   echo "</blockquote>";
   }

   mysqli_close($con);
   ?>
   </div>
</div>

<div class="item">
   div class="testimony-slide active text-center">

<?php

   $sql = "SELECT name,email,message FROM guestbook ORDER BY ID DESC LIMIT 5 OFFSET 5";
   $result = mysqli_query($conn, $sql) or die ("Could not access DB: " . mysql_error());

   while ($row = mysqli_fetch_assoc($result)) {

   echo "<figure>";
   echo "<img src=\"../images/guestbook.png\">";
   echo "</figure>";
   echo !empty($row['name']) ? ("<span>". $row['name'] . "</span>") : '';
   echo !empty($row['email']) ? ("<span>". $row['email'] . "</span>") : '';
   echo "<blockquote>";
   echo !empty($row['message']) ? ("<p>". $row['message'] . "</p>") : '';
   echo "</blockquote>";
   }

   mysqli_close($con);
   ?>
   </div>
</div>

这段代码的问题在于它让我手动执行,这让我很头疼...我希望根据在数据库中找到的条目将其拆分为项目。

我尝试了在谷歌上找到的解决方案,但它们都是为单独的页面制作的,而不是在 div 中拆分结果。

【问题讨论】:

    标签: php twitter-bootstrap mysqli pagination division


    【解决方案1】:

    使用计数器变量来跟踪打印的行数,并相应地将行分隔到不同的 div 中。所以你的代码应该是这样的:

    <div class="item">
       <div class="testimony-slide active text-center">
        <?php
            $sql = "SELECT name,email,message FROM guestbook ORDER BY ID DESC";
            $result = mysqli_query($conn, $sql) or die ("Could not access DB: " . mysqli_error($conn));
            $counter = 1;
            while ($row = mysqli_fetch_assoc($result)) {
               echo "<figure>";
               echo "<img src=\"../images/guestbook.png\">";
               echo "</figure>";
               echo !empty($row['name']) ? ("<span>". $row['name'] . "</span>") : '';
               echo !empty($row['email']) ? ("<span>". $row['email'] . "</span>") : '';
               echo "<blockquote>";
               echo !empty($row['message']) ? ("<p>". $row['message'] . "</p>") : '';
               echo "</blockquote>";
    
               if($counter % 5 == 0){
                    echo '</div></div>';
                    echo '<div class="item"><div class="testimony-slide active text-center">';
               }
               ++$counter;
            }
            mysqli_close($con);
       ?>
       </div>
    </div>
    

    旁注:不要混合使用mysqlmysqli API,这是两个不同的东西。 mysql_error() 应该是 mysqli_error($conn)

    【讨论】:

    • 谢谢!!!!奇迹般有效!并感谢您注意到在将脚本中的所有内容更改为 mysqli 后我忘记更改为 mysqli 的 mysql_error
    • 还有一个问题...我刚刚删除了测试消息,页面拒绝加载,因为它没有足够的消息来分隔“页面”。我该如何解决?
    • @FGOD 页面拒绝加载是什么意思?它会抛出一些错误吗?
    • 不,它卡在加载页面图标上,该图标一直在旋转,好像它试图确定它是否需要比一个页面更多的页面,但不能不给我 php 错误输出...奇怪的是它与我的索引页面有同样的问题,我只输出最后 3 条消息,每个项目 div 有 1 条消息。只要我有 3 条消息,它就会像正常一样加载页面,但少于 3 条消息就会卡在加载图标上。需要 5 个的留言簿页面也是如此,因为这是第一个项目 div 的限制。少于 5 个,它就会卡在加载图标上。
    • @FGOD 那么这是一个非常具体的引导相关问题,与您上面提出的问题无关。我建议您在 SO 上创建一个单独的问题,解释所有细节,即插件、js 代码等。
    猜你喜欢
    • 2017-11-14
    • 2016-05-05
    • 1970-01-01
    • 2016-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多