我正在学习如何使用 MySQL,目前我成功地显示了表中的数据,使用:
while($objResult2 = mysqli_fetch_assoc($objQuery_product)) {
通过使用此变量显示结果 $objResult2["id_product"];
这样我就可以从数据库中获取我想要的任何字段,例如: $objResult2["name"];
$objResult2["email"];
等
但是如果表中有更多具有相同 id_product
的行,我该怎么办?
我想编写一个 if
语句,如果 id_product
重复则计数。怎么做?如果工作量很大,至少请给我一个我必须阅读的正确教程的想法。因为我第二天正在尝试解决这个问题,并搜索了谷歌,但我没有找到我需要的东西,或者也许我无法理解它......
这是我的查询
$sql_product = "SELECT * FROM ps_product AS prod";
$join_product = " LEFT JOIN ps_product_lang AS lang ON lang.id_product = prod.id_product";
$join2_product = " LEFT JOIN ps_stock_available AS stok ON stok.id_product = prod.id_product";
$where_product =" WHERE prod.id_category_default = $idp AND lang.id_lang = 8";
$sql_product = $sql_product.$join_product.$join2_product.$where_product;
$objQuery_product = mysqli_query($objConnect, $sql_product) or die ("Error Query [".$sql_product."]");
最佳答案
您可以在查询中使用 DISTINCT
关键字简单地删除相同的 id_product
。如:
SELECT DISTINCT id_product FROM my_table
这只会为您提供具有不同 ID 的结果。
第二种方法是将输出值放入数组中。
在 while 循环中:
$my_array[] = $objResult2["id_product"];
然后使用array_filter
删除数组内的所有重复项。
如果您想计算重复值,也可以使用 array_count_values() 。
关于php - 如何统计变量值是否重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21497017/