我有一些调用名为“fed”的表的代码,并且完美地列出了内容。然后在WHILE语句中调用另一个名为“country”的表。我希望PHP代码计算“country”中与“fed”表中的当前行具有相同fedID编号的任何记录,该表中还有一个名为fedID的列。PHP Count not counting
我用这个代码来调用 “国家” 表:
$countrySQL = "SELECT * FROM country WHERE country.fedID=$fedRow->fedID";
$countryResult = $glob->query($countrySQL) or die(mysqli_error());
if($countryResult){
while($countryRow = $countryResult->fetch_object()){
if($countryRow->fedID=$fedRow->fedID) {
echo "(" . $countryRow->fedID . ")";
}
}
}
然后我得到的结果:
(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)
(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)
(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)
哪个数据库相匹配。但是,如果我更改SQL读取:
$countrySQL = "SELECT COUNT(*) FROM country WHERE country.fedID=$fedRow->fedID";
然后,我得到一个空的结果。我希望它显示总共1 = 45,2 = 51,3 = 21。
我在做什么错?感谢您的时间。
您是否在更改查询后修改了您的代码?您正在查看行中的字段是否匹配,但使用COUNT(*)查询时,这些字段将不再存在。 – andrewsi 2013-05-10 16:31:18
GROUP BY某些事情,如果你想要比计数更多,你必须选择更多的计数 – Strawberry 2013-05-10 16:32:08