我的网站上有一个选择下拉列表项目,我希望列表中每个类别的总数旁边有一个数字,表示该类别中的项目总数。当用户从我的下拉列表中选择一个类别时,我希望我的目录列表项更新。
我遇到编码问题。我有一个包含SiteTypes和SiteTypeID的表,称为sitetypes。另一个表称为网站,其中包含数据库中的所有网址,这是我要向用户显示的内容。有不同类别的网址,我的选择菜单应该在选中时显示每个网址类别。我无法弄清楚如何显示
$sql = "SELECT COUNT(u.url) AS total, u.SiteTypeID, p.SiteType FROM sites AS u LEFT JOIN sitetypes AS p USING (SiteTypeID) WHERE SiteTypeID=3";
$sq2 = mysqli_query($dbc, $sql);
$sq3 = "SELECT COUNT(u.url) AS total, u.SiteTypeID, p.SiteType FROM sites AS u LEFT JOIN sitetypes AS p USING (SiteTypeID) WHERE SiteTypeID=4";
$sq4 = mysqli_query($dbc, $sq3);
$sq5 = "SELECT COUNT(u.url) as total, u.SiteTypeID, p.SiteType FROM sites AS u LEFT JOIN sitetypes AS p USING (SiteTypeID) WHERE SiteTypeID=5";
$sq6 = mysqli_query($dbc, $sq5);
echo $row['url'] $row['SiteType'];
echo $row2['url'] $row2['SiteType'];
echo $row3['url'] $row3['SiteType'];
我想显示每个类别数据库中的网址总数。任何想法,将不胜感激。我尝试使用while循环,但我无法让它工作。
答案 0 :(得分:1)
我对你想要得到的东西感到有点困惑(你可以发布一些样本数据和样本输出吗?)。但是为什么不将3个查询合并在一起?
<?php
$sql = "SELECT COUNT(u.url) AS total, u.SiteTypeID, p.SiteType
FROM sites AS u
LEFT JOIN sitetypes AS p USING (SiteTypeID)
WHERE SiteTypeID IN (3, 4, 5)
GROUP BY u.SiteTypeID, p.SiteType";
if ($sql2 = mysqli_query($dbc, $sql))
{
while ($row = mysqli_fetch_assoc($sql2))
{
echo $row["total"].." - ".$row["SiteTypeID"].." - ".$row["SiteType"]."<br >";
}
}
?>