php - 如何在每个类别的加载页面中仅获取 2 个产品

标签 php mysql sql

我想在加载此页面时为每个类别显示两种产品,但如果我单击一个类别类型,那么它将显示所有产品。

这是我的代码:

<?php
   $resultspi= $con->query ("SELECT * FROM products WHERE ORDER BY id ASC"); 
   if ($resultspi->num_rows > 0) {
   while($rowpi = mysqli_fetch_array ($resultspi, MYSQL_ASSOC)) { 
         $id = $rowpi['id'];
         $types = $rowpi['type'];
         $image = $rowpi['images'];
         $names = $rowpi['name'];
 ?>
      <div class="item <?php echo $types;?>">
           <a href="uploads/products/<?php echo $image;?>" data-rel="gallery[prodcuts]" title="<?php echo $names;?>" class="">
              <img src="uploads/products/<?php echo $image;?>" alt="<?php echo $names;?>" class="thumb mCS_img_loaded" style="visibility: visible; opacity: 1;">
              <p class="info"> </p>
           <div class="overlay">
              <span></span>
           </div>
            </a>
       </div>
<?php 
      }
    }
 ?>

最佳答案

我使用这个查询。这段代码对我有用。

SELECT p1.id, p1.type,p1.name,p1.images FROM products p1 JOIN products p2 ON p1.type = p2.product_type AND p2.id >= p1.id GROUP BY p1.id, p1.type HAVING COUNT(*) <= 2 ORDER BY type, id

关于php - 如何在每个类别的加载页面中仅获取 2 个产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54086814/

相关文章:

php - 如何在 php 中从数据库中设置选定的值标记 <select> html?

jquery - Laravel whereRaw、orWhereRaw 与 FIND_IN_SET 查询未专门运行

mySQL:连接找不到数据,即使它们存在

Sql plus无法连接到oracle

php - 获取数组的最后一个元素以从中删除逗号

javascript - 保存已发布选择中的先前值

MySqlConversionException问题

sql - PostgresQL - 日期工作很奇怪

php - PHP 中 JavaScript 的 encodeURIcomponent 等价物是什么?

php - 聊天应用服务器负载