【问题标题】:How do i display my items in a row ( using php and bootstrap to display all items from a database)如何连续显示我的项目(使用 php 和 bootstrap 显示数据库中的所有项目)
【发布时间】:2019-02-09 08:52:16
【问题描述】:

我正在使用 php 将数据库中的最后五个事件显示为最新事件。然而,当我希望它们显示为一行而不是向下显示 3 个页面时,引导程序和 css 使它们显示为一列。

我尝试过使用 css flex: row;等使其工作,但我不确定引导程序是否搞砸了。

我希望在页面上显示三张卡片,然后在下一行显示第四张卡片等。我尝试使用第 n 个孩子,但它无法将每一张卡片作为同一张卡片而不是不同卡片读取。有什么办法可以解决这个问题或我的代码有什么问题。任何帮助将不胜感激。

    <link href="css/recentevents.css" rel="stylesheet" type="text/css"/>
    <link href="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">


                    <?php


                    $result = mysqli_query($connection, "SELECT e.*,(SELECT COUNT(*) FROM user_events WHERE Event_ID = e.Event_ID) AS total_registrations FROM Events e ORDER BY Event_ID DESC LIMIT 0 , 5"); 

                     while($row = mysqli_fetch_array($result))
      {
                         $event = new Event($row);
                          $today = date("Y-m-d");   
                if($event->status == 'published' and $event->date >= $today){

    ?>

    <div class="container"> 
        <div class="row">
            <div class="col-lg-4"> 
                <div class="card"> 
                    <?php
                  echo'<img class="card-img-top" data-src=y=d ata-holder-rendered="true" width="600" src="data:image/jpg;base64,' . base64_encode( $row['event_image'] ) . '" />'

                      ?>
                    <div class="card-body">     
                        <h4 class="card-title"><?php echo $event->title?></h4>     
                        <p class="card-text"><?php echo $event->content?></p>
                        <a href="events_page.php" class="btn btn-primary">Sign Up</a>   </div> </div> </div>
        </div>
    </div>

      <?php
                }
           }
        ?>

CSS class
    .blank-section {
        margin-bottom: 15px;
        margin-top: 15PX;
    }
    .card {
        position: relative;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        min-width: 0;
        word-wrap: break-word;
        background-color: #fff;
        background-clip: border-box;
        border: 1px solid rgba(0,0,0,.125);
        border-radius: .25rem;
        margin-bottom: 15px;
    }

我打算看到卡片连续显示大约三张,但它们只是一直沿途显示。

它适用于下面属于我网站不同部分的代码: 它适用于下面的代码,但我需要它用于上面的代码

$result = mysqli_query($connection,"SELECT * FROM feedback");
        while($row = mysqli_fetch_array($result))
  {
 echo "  <div class=\"reviews\">\n";
echo "  <div class=\"row blockquote review-item\">\n";
echo "   <div class=\"col-md-3 text-center\">\n";
echo "                    <img class=\"rounded-circle reviewer\" src=\"images/davidPic.png\">\n";
echo "                    <div class=\"caption\">\n";
echo "                        <small>By <a href=\"images/davidPic.png\"> David</a></small>\n";
echo "                        \n";
echo "                    </div>\n";
echo "                    \n";
echo "                </div>\n";
echo "                <div class=\"col-md-9\">\n";
echo "                    <h4>".$row['name']."</h4>\n";
echo "                    <p class=\"review-text\">".$row['feedback']." </p>\n";
echo "                    \n";
echo "                    <small class=\"review-date\"></small>\n";
echo "                </div>                          \n";
echo "            </div>  \n";
echo "        </div>\n";

【问题讨论】:

    标签: html css flexbox bootstrap-4


    【解决方案1】:

    我认为您需要更改用于每张卡的类

    代替.col-lg-4,你可以改成.col-sm-4

    例如,&lt;div class="col-sm-4"&gt;

    见下面的例子:

    .blank-section {
      margin-bottom: 15px;
      margin-top: 15PX;
    }
    
    .card {
      position: relative;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
      flex-direction: row;
      min-width: 0;
      word-wrap: break-word;
      background-color: #fff;
      background-clip: border-box;
      border: 1px solid rgba(0, 0, 0, .125);
      border-radius: .25rem;
      margin-bottom: 15px;
    }
    <link href="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
    
    <div class="container">
        <div class="row">
       <?php 
          $result = <your query>; 
    
          while($row = mysqli_fetch_array($result))
            {
                             $event = new Event($row);
                              $today = date("Y-m-d");   
                    if($event->status == 'published' and $event->date >= $today){
                   // output
          ?>
            <div class="col-sm-4">
                <div class="card">
                    image
                    <div class="card-body">
                        <h4 class="card-title">
                            title
                        </h4>
                        <p class="card-text">
                            content
                        </p>
                        <a href="events_page.php" class="btn btn-primary">Sign Up</a> </div>
                </div>
            </div>
        </div>
        <?php
        }
        ?>
    </div>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多