Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Вывод данных из базы

Сообщения:  [1-10]    [11-20]   [21-30]   [31-40]  [41-42] 

 
 автор: kis-kis   (25.10.2007 в 10:00)   письмо автору
 
   для: 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>";
}
}


Спасибо.

   
 
 автор: provodnik   (24.10.2007 в 20:42)   письмо автору
 
   для: oradev   (24.10.2007 в 17:01)
 

kis-kis - Вы о чем?
to oradev: развиваюсь, стремлюсь к совершенству. Но к сожалению учебники читать нет времени, лишь здесь, на форуме, помогая другим, смотря на чужие примеры кода что-то выхватываю, экспериментирую... Что-то откладывается, что-то ждет следующего примера...
Да и всегда навороченные запросы забирают времени и серверных ресурсов меньше, нежели ряд циклических и простых...

   
 
 автор: oradev   (24.10.2007 в 17:01)   письмо автору
 
   для: provodnik   (24.10.2007 в 16:27)
 

Хотя должно быть наоборот

   
 
 автор: kis-kis   (24.10.2007 в 16:58)   письмо автору
 
   для: provodnik   (24.10.2007 в 16:27)
 

Просто я знаю что можно сделать так, как я говорю (но не знаю как это реализовать) . Так, например, работает, DataLife engine...

>>Лично я не люблю, да и не особо волоку во вложенных, соединенных, левых и т.п. запросах.
>> Поэтому использую несколько, но коротких..

Откуда это? ))

   
 
 автор: provodnik   (24.10.2007 в 16:27)   письмо автору
 
   для: kis-kis   (24.10.2007 в 15:59)
 

kis-kis - прислушайтесь к Thrasher от 24.10.2007 в 12:41.
И обратите в конце концов на слова oradev ...

Лично я не люблю, да и не особо волоку во вложенных, соединенных, левых и т.п. запросах. Поэтому использую несколько, но коротких..

   
 
 автор: kis-kis   (24.10.2007 в 15:59)   письмо автору
 
   для: oradev   (24.10.2007 в 12:53)
 

Ваш второй запрос считает все, даже если там 0 элементов, а также к сожалению не считает двойные категории.

>>> Оставьте структуру, но не назначайте одной фирме неколько категорий в одном поле БД. Сделайте это поле численным типом...
Это не всегда возможно, например, в данном случае ))
Вообще все это для того чтобы сделать вот так - http://www.afisha.ru/msk/restaurants/restaurant_list/ но только для моего города.

   
 
 автор: oradev   (24.10.2007 в 12:53)   письмо автору
 
   для: kis-kis   (24.10.2007 в 09:25)
 

Наверное, обратить внимание на второй мой вышепривиденный запрос. Там немного подправить его нужно. Думаю сами додумаете.

   
 
 автор: Thrasher   (24.10.2007 в 12:41)   письмо автору
 
   для: provodnik   (24.10.2007 в 11:23)
 

Обычно в таких случаях добавляют дополнительную таблицу-связку, в кот. указывается Id организации и id раздела, к кот. она относится.

   
 
 автор: provodnik   (24.10.2007 в 11:23)   письмо автору
 
   для: kis-kis   (24.10.2007 в 09:15)
 

Как по Вашему она должна выглядеть, чтобы быть адекватной?
Оставьте структуру, но не назначайте одной фирме неколько категорий в одном поле БД. Сделайте это поле численным типом...

На моём портале, в каталоге фирм и организаций порядка 1500 записей.
И если организация пногопрофильная, и подходит и в категорию "Бассейны" и в категорию "Библиотеки", то она занесена в БД два раза, но как разные организации - как организация "бассейн" и как фирма "библиотека", и каждая в свою категорию...

По моему скромному мнению...

   
 
 автор: kis-kis   (24.10.2007 в 09:25)   письмо автору
 
   для: 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 и все. Спасибо большое Вам. А двойные категории учитываются?

   

Сообщения:  [1-10]    [11-20]   [21-30]   [31-40]  [41-42] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования