【问题标题】:Is there a way to display the results from the data in a loop that prints <ul> & <li>?有没有办法在打印 <ul> 和 <li> 的循环中显示数据的结果?
【发布时间】:2014-11-13 11:35:48
【问题描述】:
       <?php
        $servername = "localhost";
        $username = "khcy4dau_kesh";
        $password = "";
        $dbname = "khcy4dau";

        //Create Connection
        $conn = new mysqli($servername, $username, $password, $dbname);

        //Check Connection
        if ($conn->connect_error) {
            die("Connection Failed : " . $conn->connect_error);
        }


        ?>
    </head>
    <body>
        <div class="container">
            <div id="slideshow" class="slideshow">
                <ul>
                    <li>
                        <div class="slide">
 //How do I loop the data from the database so that it prints all instead of one by one//
                            <img class="icon" src="img/icons/heart.svg" alt="Heart Icon"/>
                            <blockquote>
                                <?
                                    $sql = "SELECT quotations from quote";
                                    if ($result = mysqli_query($conn,$sql))
                                    {
                                        $row = mysqli_fetch_row($result);
                                        echo " $row['quotations'] ";
                                        mysqli_free_result($result);
                                    }
                                ?>
                            </blockquote>
                            <?
                                echo "<p> $author </p>";
                            ?>
                        </div>
                    </li>
                    <li>
                        <div class="slide">
                            <img class="icon" src="img/icons/letter.svg" alt="Letter Icon"/>
                            <blockquote>
                                <p>If you don't know where you are going, any road will get you
 there.</p>
                            </blockquote>
                            <p>Lewis Carroll</p>
                        </div>
                    </li>
                </ul>
            </div>
        </div><!-- /container -->
    </body>
 </html>

 <?
            $conn->close();
 ?>

【问题讨论】:

标签: php mysql sql


【解决方案1】:

你可能正在寻找这个..但不是特别清楚..

我假设作者在你的报价表中,我不知道是什么决定了你使用什么图标,所以我很有创意..从查询中决定在分配中使用什么..

   <?php
    $servername = "localhost";
    $username = "khcy4dau_kesh";
    $password = "";
    $dbname = "khcy4dau";

    //Create Connection
    $conn = new mysqli($servername, $username, $password, $dbname);

    //Check Connection
    if ($conn->connect_error) {
        die("Connection Failed : " . $conn->connect_error);
    }

    $uberQuotes= array();

    $sql = "SELECT quotations, author from quote";
    if ($result = mysqli_query($conn,$sql))
    {
        while ($row = mysqli_fetch_row($result))
        {
          $uberQuotes['author'][] = array('quote'=>$row['quotations'], 'icon' => 'heart');
        }
        mysqli_free_result($result);
    }

    $conn->close();

    if ($uberQuotes)
    {
      $quotesHTML = '<ul>';
      foreach ($uberQuotes as $author => $quotes)
      {
        foreach ($quotes as $quote)
        {
          $quotesHTML .= '
                <li>
                    <div class="slide">
                        <img class="icon" src="img/icons/'.$quote['icon'].'.svg" alt="'.ucFirst($quote['icon']).' Icon"/>
                        <blockquote>
                            '.$quote['quote'].'
                        </blockquote>
                        <p> '.$author.' </p>
                    </div>
                </li>';
        }
      }
      $quotesHTML .= '</ul>';
    }
    else
    {
      $quotesHTML = 'No Quotes Found';
    }


    ?>
</head>
<body>
    <div class="container">
        <div id="slideshow" class="slideshow">
          <?=$quotesHTML?>
        </div>
    </div><!-- /container -->
</body>
</html>

【讨论】:

    【解决方案2】:

    您可以使用任何循环语句,例如 foreach 循环,获取数据到 $items 并循环数组:

    <?php foreach($items as $item): ?>
    <li><div class="slide"></div></li>
    <?php foreach; ?>
    

    【讨论】:

      【解决方案3】:

      试试这样的

      <ul>
      <?php foreach($items as $item): ?>
      <li><div class="slide"></div></li>
      <?php foreach; ?>
      </ul>
      

      【讨论】:

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