下拉列表中的每个状态我想要php中每个状态的记录总数
PHP代码下拉列表中的每个状态我想要php中每个状态的记录总数,php,mysqli,Php,Mysqli,PHP代码 Table_sup | +-------------------+ | supid=>int | | scompany=>varchar | | sstate=>varchar | | scity=>varchar | | scat=>varchar | 我想要什么 Select State ------------- | ALL | | CA
Table_sup |
+-------------------+
| supid=>int |
| scompany=>varchar |
| sstate=>varchar |
| scity=>varchar |
| scat=>varchar |
我想要什么
Select State
-------------
| ALL |
| CA |
| CO |
| FL |
| GA |
像这样。下拉列表中的每个状态我需要每个状态的记录总数您没有从mysqli结果中获取第二列。尝试如下
Select State
+-------------------+
| ALL |
| CA (472) |
| CO (7) |
| FL (5) |
| GA (45) |
因为国家可以有多个州,每个州可以有多个城市,当你加入这些1对多和1对多时,你的州数就膨胀了。所以你需要不同的状态计数。城市计数对于国家和州来说已经是独一无二的,因此不需要区分。如果州不是乡村城市独有的,那么就需要有明显的区别。当然,这假设您需要每个国家的唯一州数
<?php
$dd_res=mysqli_query($con,"Select sstate, count(sstate) AS state from sup GROUP BY sstate");
while($r=mysqli_fetch_row($dd_res))
{ echo "<option value='$r[0]'> $r[0] ( $r[1] )</option>";
}
?>
考虑以下示例:
我很高兴能帮助您@Gautambos
<?php
$dd_res=mysqli_query($con,"Select sstate, count(sstate) AS state from sup GROUP BY sstate");
while($r=mysqli_fetch_row($dd_res))
{ echo "<option value='$r[0]'> $r[0] ( $r[1] )</option>";
}
?>
SELECT c.name, count(distinct s.name) as statecount, count(ci.name) citycount
FROM countries c,states s,cities ci
WHERE ci.state_id = s.id
and s.country_id = c.id
GROUP BY s.name