【问题标题】:How to count the arrays from a result of a query? [duplicate]如何从查询结果中计算数组? [复制]
【发布时间】:2021-11-21 19:14:28
【问题描述】:

我有一个使用 PHP 进行的查询,它返回所有满足给定条件的行,现在,我想知道是否有一种方法可以计算查询结果的每个行数和将该数字传递给 HTML 上元素的 id?

<?php
     $res2 = mysqli_query($con,"SELECT NAME, PRICE FROM product WHERE AVAILABLE = 1 AND ID_CATEGORY = 17");
?>
<body>
      <?php
         while($row = mysqli_fetch_row($res2)) {
            print_r($row);
            ?>
               <div class="item">
                  <img class="trj_img_cls" src="RSC/COMING_SOON.jpg" alt="" id="imgDG<?php  ?>">
                  <div class="texto_trj">
                     <div class="nombre_producto">
                        <h2 id="ttlDG<?php  ?>">título</h2>
                     </div>
                     <div class="precio_producto">
                        <i class="icon-dollar"></i>
                        <label id="prDG<?php  ?>">0.00</label>
                     </div>
                     <div class="caracteristicas">
                        <ul id="caractDG<?php  ?>"></ul>
                     </div>
                  </div>
               </div>
            <?php
         }
      ?>
</body>

我放了&lt;?php ?&gt;,因为我想在那里添加变量(行号),以便它补充实际的id,然后我可以用javascript查找那个id。另一件事是我使用print_r() 只是为了查看元素是否出现。

【问题讨论】:

  • 您希望 id 只是 1、2、3、4,还是希望它与数据库中的 ID 相同?
  • @mulquin 是的,表的 id 无关紧要,我认为新的 id 会更好,因为它只是为要使用 javascript 读取的元素提供一个 id

标签: php html mysqli


【解决方案1】:

这可以通过在 while 循环开始时将 $increment 变量设置为 1 并在循环结束时递增来完成。

<?php
    $increment = 1;
    while($row = mysqli_fetch_row($res2)) {

然后像这样使用它:

id="imgDG<?php echo $increment; ?>">

然后在末尾递增:

        <?php
     $increment++;
     }
  ?>

【讨论】:

  • 感谢 @mulquin 你在这件事上帮助了我,因为我试图对另一件太复杂的事情做同样的事情
  • 不客气@SantiagoBarreiro,有时最简单的方法是最好的
猜你喜欢
  • 2022-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多