试图回显数组的某些部分

时间:2016-05-25 13:20:42

标签: php twitter-bootstrap mysqli

我正在尝试回显类别名称并列出引导列表组中具有该类别的任何帖子名称。我遇到的问题是回应结束ul所以我可以开始一个新的ul。那么我怎样才能在每个类别的末尾回应结束ul。这就是我现在所拥有的。如果您有任何更好的想法,请告诉我。现在我只是得到一个这样的列表:最终结果是将每个类别存储在自己的可折叠列表面板中http://www.w3schools.com/bootstrap/bootstrap_collapse.asp#collapse1

<ul>
  <li>Coffee</li>
  <li>Tea</li>
  <li>Milk</li>
<ul>
  <li>Coffee</li>
  <li>Tea</li>
<ul>
  <li>Coffee</li>
  <li>Tea</li>
<ul>
  <li>Coffee</li>
  <li>Tea</li>
</ul>  

以下是我尝试的代码。

<?php

   $query = "SELECT post_category,post_title
               FROM posts 
           ORDER BY post_category";
   $select_categories_sidebars = mysqli_query($connection, $query);
?>
<h4>Blog Categories</h4>
<div class="row">
    <div class="col-lg-12">
        <ul class="list-group">
        <?php
             $title = "";
             while ($row = mysqli_fetch_array($select_categories_sidebars)) {
                 if ($row['post_category'] != $title) {
                      echo '<ul><li class="list-group-item">'.$row['post_category'].'</li><br>';
                      $title = $row['post_category'];
                 }
                 echo '<li class="list-group-item">'.$row['post_title']</li>;
             }
?>

2 个答案:

答案 0 :(得分:1)

我不确定我是否明白这个问题,但我打赌你错过了一些</ul>

试试这个:

<?php
$query = "SELECT post_category,post_title
            FROM posts 
        ORDER BY post_category";
$select_categories_sidebars = mysqli_query($connection, $query);
?>
<h4>Blog Categories</h4>
<div class="row">
 <div class="col-lg-12">
    <ul class="list-group">
    <?php
         $title = "";
         $someItem=false;
         while ($row = mysqli_fetch_array($select_categories_sidebars)) {
             if ($row['post_category'] != $title) {
                  if ($someItem)
                  {
                      echo '</ul>';
                  }
                  $someItem=true;
                  echo '<ul><li class="list-group-item">'.$row['post_category'].'</li><br>';
                  $title = $row['post_category'];
             }
             echo '<li class="list-group-item">'.$row['post_title']</li>;
         }
 ?>
 </ul>
 </div>
 </div>

答案 1 :(得分:0)

您需要在每个列表的末尾添加</ul>,如下所示。您需要修改代码,以便每个列表始终以<ul>开头,以</ul>结尾,每个列表项以<li>开头,以</li>结尾。您必须为每个类别单独进行查询。

<ul>
  <li>Coffee</li>
  <li>Tea</li>
  <li>Milk</li>
</ul>
<ul>
  <li>Coffee</li>
  <li>Tea</li>
</ul>
<ul>
  <li>Coffee</li>
  <li>Tea</li>
</ul>
<ul>
  <li>Coffee</li>
  <li>Tea</li>
</ul>