|
|
|
|
|
для: provodnik
(24.10.2007 в 20:42)
| | Прислушился к Thrasher ))
Можно ли эти запросы собрать в один?
$query = "SELECT category_id as cat, count(id) as num FROM 2cat_catalog where category_id <> '0' group by category_id";
$result = mysql_query($query) or die("<B>Error ".mysql_errno()." :</B> ".mysql_error()."");
if (mysql_num_rows($result)!=0)
{
while($cafe = mysql_fetch_array($result))
{
$resultc=mysql_query("SELECT * FROM cat_catalog where id = '$cafe[cat]'") or die("<B>Error ".mysql_errno()." :</B> ".mysql_error()."");
$rowcat = mysql_fetch_array($resultc);
echo "<a href=\"".$rowcat['en_name']."/\">".$rowcat['name']."</a> (".$cafe['num'].")<br>";
}
}
|
Спасибо. | |
|
|
|
|
|
|
|
для: oradev
(24.10.2007 в 17:01)
| | kis-kis - Вы о чем?
to oradev: развиваюсь, стремлюсь к совершенству. Но к сожалению учебники читать нет времени, лишь здесь, на форуме, помогая другим, смотря на чужие примеры кода что-то выхватываю, экспериментирую... Что-то откладывается, что-то ждет следующего примера...
Да и всегда навороченные запросы забирают времени и серверных ресурсов меньше, нежели ряд циклических и простых... | |
|
|
|
|
|
|
|
для: provodnik
(24.10.2007 в 16:27)
| | Хотя должно быть наоборот | |
|
|
|
|
|
|
|
для: provodnik
(24.10.2007 в 16:27)
| | Просто я знаю что можно сделать так, как я говорю (но не знаю как это реализовать) . Так, например, работает, DataLife engine...
>>Лично я не люблю, да и не особо волоку во вложенных, соединенных, левых и т.п. запросах.
>> Поэтому использую несколько, но коротких..
Откуда это? )) | |
|
|
|
|
|
|
|
для: kis-kis
(24.10.2007 в 15:59)
| | kis-kis - прислушайтесь к Thrasher от 24.10.2007 в 12:41.
И обратите в конце концов на слова oradev ...
Лично я не люблю, да и не особо волоку во вложенных, соединенных, левых и т.п. запросах. Поэтому использую несколько, но коротких.. | |
|
|
|
|
|
|
|
для: oradev
(24.10.2007 в 12:53)
| | Ваш второй запрос считает все, даже если там 0 элементов, а также к сожалению не считает двойные категории.
>>> Оставьте структуру, но не назначайте одной фирме неколько категорий в одном поле БД. Сделайте это поле численным типом...
Это не всегда возможно, например, в данном случае ))
Вообще все это для того чтобы сделать вот так - http://www.afisha.ru/msk/restaurants/restaurant_list/ но только для моего города. | |
|
|
|
|
|
|
|
для: kis-kis
(24.10.2007 в 09:25)
| | Наверное, обратить внимание на второй мой вышепривиденный запрос. Там немного подправить его нужно. Думаю сами додумаете. | |
|
|
|
|
|
|
|
для: provodnik
(24.10.2007 в 11:23)
| | Обычно в таких случаях добавляют дополнительную таблицу-связку, в кот. указывается Id организации и id раздела, к кот. она относится. | |
|
|
|
|
|
|
|
для: kis-kis
(24.10.2007 в 09:15)
| | Как по Вашему она должна выглядеть, чтобы быть адекватной?
Оставьте структуру, но не назначайте одной фирме неколько категорий в одном поле БД. Сделайте это поле численным типом...
На моём портале, в каталоге фирм и организаций порядка 1500 записей.
И если организация пногопрофильная, и подходит и в категорию "Бассейны" и в категорию "Библиотеки", то она занесена в БД два раза, но как разные организации - как организация "бассейн" и как фирма "библиотека", и каждая в свою категорию...
По моему скромному мнению... | |
|
|
|
|
|
|
|
для: oradev
(23.10.2007 в 20:59)
| | Работает ))))
$query = "SELECT t.id_cat, ifnull(t.sub_cat, 'Всего') as name_catalog, count(c.id) as c_num
FROM (SELECT cat1.id id_cat, cat2.name sub_cat, cat2.id sub_cat_id FROM cat_catalog cat1 LEFT JOIN cat_catalog cat2
ON (cat1.id = cat2.subcat) WHERE cat1.subcat = 0) t LEFT JOIN
catalog c ON (t.sub_cat_id = c.category) GROUP BY t.id_cat, t.sub_cat WITH ROLLUP";
$result=mysql_query($query) or die("<B>Error ".mysql_errno()." :</B> ".mysql_error()."");
if (mysql_num_rows($result)!=0)
{
while($list = mysql_fetch_array($result))
{
echo "".$list['name_catalog']." - ".$list['c_num']."<br>";
}
}
|
А как сделать чтобы (Всего - 129, Всего - 45, и т.д.) не считались и не выводились? И категории интересует только те, где subcat=3 и все. Спасибо большое Вам. А двойные категории учитываются? | |
|
|
|
|