您好我想创建列出的类别保存在我的数据库中,这样当用户上传他的图像并选择类别时,它会将数据保存在Cat列的数据库中 现在我想用PHP这样显示类别
Categories Total
Animals (4)
Celebrations (2)
Locations And Travel (11)
Object or still life (1)
Transportation (9)
这是我的PHP我成功地显示了类别名称,但不是每个类别中的总类别
<?php
$con=mysqli_connect("localhost","root","123","user");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"Select Cat from save_data Group By Cat ")
or die(mysql_error());
echo "<table border='1'>
<tr>
<th>Categories</th>
<th>Total</th>
</tr>";
while($row = mysqli_fetch_array($result, MYSQL_ASSOC))
{
echo "<tr>";
echo "<td>" . $row['Cat'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($con);
?>
答案 0 :(得分:0)
扩展表格单元格:
<td colspan="2"></td>
这种方式扩展到另一个单元格。
另外我注意到你正在混合mysqli和mysql:
or die(mysql_error());
尝试使用mysqli作为对象和\Exceptions
而不是错误。值得了解: - )
<强>更新强>
我一开始并不理解你的问题。请提供您的架构,以便我们可以看到您的表格结构。
通常你会有 2个表,一个有类别,一个有数据,并加上GROUP BY
(如果一个项目可以在几个类别中,你会有第三个表格比如category_has_item
!):
SELECT c.category AS cat,
COUNT(i.items) AS num
FROM category c
LEFT JOIN items i
ON c.category_id = i.category_id
GROUP BY c.category
使用LEFT JOIN
显示空类别,JOIN
(不包含LEFT
)以避免显示空类别。
更改表格回显:
echo "<td>" . $row['cat'] . "</td><td>(" . $row['num'] . ")</td>";
<强>更新强>
如果您只有一张桌子,我强烈建议您阅读database normalization
。
更新您的查询:
Select Cat,COUNT(Data) AS num from save_data Group By Cat
将Data
替换为您的数据列
和你的回声线:
echo "<td>" . $row['Cat'] . "</td><td>(" . $row['num'] . ")</td>";
答案 1 :(得分:0)
尝试像这样更改你的SQL查询
SELECT count(*) AS total_count FROM (SELECT Cat FROM save_data GROUP BY Cat HAVING COUNT(Cat) > 1) AS t