【问题标题】:How to show 3 li in single div inside foreach loop?如何在 foreach 循环内的单个 div 中显示 3 li?
【发布时间】:2018-10-15 06:43:54
【问题描述】:

我通过 foreach 循环收集数据并获取详细信息,这工作正常。

但我想要3个

  • 在单个内部 foreach 循环中。

    例如:

     <ol>
         <div>
             <li></li>
             <li></li>
             <li></li>
         </div>
         <div>
             <li></li>
             <li></li>
             <li></li>
         </div>
         <div>
             <li></li>
             <li></li>
             <li></li>
         </div> 
     </ol>
    

    我使用下面的代码来显示数据:

    <ol class="product-items widget-viewed-grid">
        <?php $iterator = 1; ?>
        <div id="mp-list-items-<?php echo $block->getSliderId(); ?>" class="owl-carousel owl-theme">
            <?php foreach ($items as $_item): ?>
            <?php echo ($iterator++ == 1) ? '<li class="product-item product-slider"">' : '</li><li class="product-item product-slider"">' ?>
            <div class="slider-product-item-info">
                <div class="product details slider-product-item-details">
                    <strong class="product name product-item-name">
                        <a title="<?php echo $block->escapeHtml($_item->getName()) ?>" href="<?php echo $block->getProductUrl($_item) ?>">
                            <?php echo $block->escapeHtml($_item->getName()) ?>
                        </a>
                    </strong>
                </div>
            </div>
            <?php echo ($iterator == count($items) + 1) ? '</li>' : '' ?>
            <?php endforeach ?>
        </div>
    </ol>
    
  • 【问题讨论】:

    • 欢迎。 &lt;div&gt; 内的 &lt;ol&gt;(或 &lt;ul&gt;)是无效的 HTML/不允许。你用jquery标记了这个,jquery是如何参与这一切的?

    标签: php jquery foreach html-lists counter


    【解决方案1】:
           echo "<ol>";
               for( $i=0; $i<3; $i++ ) {
               echo "<div>";
                   for($j=0; $j<3; $j++) {
                   echo "<li>";
                       echo "</li>";
                   }
                   echo "</div>";
           }
           echo "</ol>";
    

    【讨论】:

      【解决方案2】:

      您必须使用嵌套循环。产品&lt;div&gt; 的外循环和产品项目&lt;li&gt; 的内循环。

      举例

      foreach($products as $product){
          echo "<div class='product'>";
          //Now you can call sql query to get items by product id
          foreach($items as $item){
            echo "<li class='list-item'>" . $item->name . "</li>";  //assuming $item has name property
          } //end of inner loop
          echo "<div class='product'>";
      } //end of outer loop
      

      【讨论】:

        猜你喜欢
        • 2021-07-17
        • 1970-01-01
        • 1970-01-01
        • 2018-02-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多