$result = mysql_query("SELECT COUNT(*) as `count`, `type` FROM `magazin` WHERE `id` LIKE '$code%' GROUP BY `type`", $db);
for($i=0;$i<mysql_num_rows($result);$i++)
{
mysql_data_seek($result, $i);
$mass = mysql_fetch_assoc($result);
//название типа
echo $mass[type]." [".$mass[count]."]<BR>";
//новый запрос:
$result2 = mysql_query("SELECT * FROM `magazin` WHERE `id` LIKE '$code%' AND `type`='$mass[type]' ORDER BY `name`", $db);
for($a=0;$a<mysql_num_rows($result2);$a++) {
mysql_data_seek($result2, $a);
$mass2 = mysql_fetch_assoc($result2);
//вывод содержимого типа:
echo $mass2[name]."<BR>";
}
echo "<BR>";
}
Можно ли избежать такого огромного колличества запросов?
Тем более, что второй запрос при прогонке цикла выполняется очень много раз
Спустя 1 час, 50 секунд (7.10.2010 - 03:50) arvitaly написал(а):
select magazin.type, count, name from magazin left join ( select count(*) as count, type from magazin where id like '$code%' group by type ) as n on n.type = magazin.type where id like '$code%' order by magazin.type asc, name asc
На спящий разум только такой быдлозапрос пришел) завтра навен что-нить получше придет
Спустя 2 дня, 25 минут, 1 секунда (9.10.2010 - 04:15) linf написал(а):
arvitaly, еще бы понять что все это значит...
Спустя 1 час, 36 минут, 23 секунды (9.10.2010 - 05:52) arvitaly написал(а):
Это значит запрос к mysql
А вот еще, тут count только в первых строках
А вот еще, тут count только в первых строках
select magazin.type, count, name from magazin left join ( select count(*) as count, type,id from (select * from magazin where id like '$code%' order by name asc) c group by type ) as n on n.id = magazin.id where magazin.id like '$code%' order by magazin.type asc, name asc
_____________
Live in new format =)