我有张桌子:
id,附属机构
每当有人单击一个链接时,就会插入一个新行,
ID是页面的ID,附属器是附属的ID。
例如:
页面ID: 9附属机构ID: 1 网页编号:9附属机构编号:2 网页编号:9附属机构编号:3
我只有三个附属公司。
我想要选择这个信息,并将它们按从属关系分组,作为ID。
我尝试过这样的查询:
从
table中选择id= '9‘组中的affiliate计数(*)
当我在PHP中执行我的管理时,它工作得很好,我如何在php中获取信息?
我试过:
$q =mysql_query(“从
table中选择COUNT(*)id= '”)。$id。“affiliate组”); $r = mysql_fetch_array($q);
当尝试将数据打印到页面上时,我只得到一个结果。
我是否需要使用foreach/while循环来获得全部3?我该怎么做呢?
谢谢!
发布于 2011-01-09 11:40:33
您应该在循环中执行mysql_fetch_array() (或助理署长()):
while ($row = mysql_fetch_assoc($q)) {
echo $row["id"];
echo $row["affiliate"];
}更新(根据评论):
如果结果中总是有3行,那么结果()函数可能会有帮助:
$firstAffiliate = mysql_result($q, 0, "affiliate");
$secondAffiliate = mysql_result($q, 1, "affiliate");
$thirdAffiliate = mysql_result($q, 2, "affiliate");顺便说一句,小心并检查一下,查询是否真的返回3个结果。
发布于 2011-01-09 13:59:33
如果您只想获得Affiliate ID的列表,可以考虑以下查询
select group_concat(affiliate)
from table
where id=9;上面的内容将返回一个逗号单独的值,如单行中的1,2,3。
因此,您可以在PHP中使用,,并且爆炸数组的大小与count(*)相同。
发布于 2011-01-09 17:19:18
您可以使用一个变量来保存实际mysql语句本身中的状态。尝试以下几点:
附属公司: page_id afil_id
设置@page_id=0;从点击组中选择page_id,if(@page_id <> page_id,count(*),0),@page_id:=page_id;
希望这有帮助
https://stackoverflow.com/questions/4638907
复制相似问题