我在数据库中有多个可购买的数字商品,但是它们是按数字分组的。
例如5条记录,其中category
为digital
。
我已经创建了一个基本的商店页面,其中显示了所有记录,但是我希望它能显示quantity
中的digital
,而不是显示{{1} }设为category
。
我目前有以下显示所有记录但不显示数量的记录:
digital
我宁愿有类似的内容,因此它在$stmt = $user->runQuery("SELECT * FROM `items` WHERE `purchased_by` = 0 AND `type` = 'digital' AND `city` NOT IN ('London') AND `level` NOT IN ('PLATINUM', 'GOLD') ORDER BY `id` ASC");
$stmt->execute();
while ($getDetails = $stmt -> fetch(PDO::FETCH_ASSOC)){
$id = $getDetails['id'];
$level = $getDetails['level'];
$price = $getDetails['price'];
echo '<tr>
<td>'.htmlspecialchars($level).'</td>
<td><form method="post">
<button class="btn btn-success" value="'.$id.'" id="buyNow" type="submit" name="buyNow"> Buy Now - £'.htmlspecialchars($price).'</button>
</td></form>
</tr>';
}
旁边的level
旁边显示数量,而不是显示x5
。
5 records
我当时在考虑使用echo '<tr>
<td>'.htmlspecialchars($level).'</td>
<td>'.$quantity.'</td>
<td><form method="post">
<button class="btn btn-success" value="'.$id.'" id="buyNow" type="submit" name="buyNow"> Buy Now - £'.htmlspecialchars($price).'</button>
</td></form>
</tr>'
,但由于它使用数组,所以我不打算这样做。
答案 0 :(得分:0)
创建计数器,该计数器将在每次循环运行时递增:
$ counter = 0; 而($ getDetails = $ stmt-> fetch(PDO :: FETCH_ASSOC)){ $ counter ++; ...
您可以使用数据库COUNT
功能。
可以显示数据库结构吗?该表没有任何关系吗?
答案 1 :(得分:0)
查询需要更新为:
$stmt = $user->runQuery("SELECT *, count(id) AS count FROM items WHERE purchased_by = 0 AND type = 'digital' AND city NOT IN ('London') AND level NOT IN ('PLATINUM', 'GOLD') GROUP BY bin ASC");
然后您可以通过$getDetails['count'];