|
|
|
|
|
для: kosta_in_net
(12.07.2009 в 12:58)
| | А структуру табличек не могли бы приложить для ясности? | |
|
|
|
|
|
|
|
для: mihdan
(03.07.2009 в 11:09)
| | вот варианнт из моего скрипта (вывод категорий с указанием количества постов по категории и отображением 10 последних постов):
$sql ='SELECT id,name,COALESCE(cnt, 0) AS cmtcnt ';
$sql.='FROM '.table_tip.' t ';
$sql.='LEFT JOIN (SELECT category,COUNT(*) AS cnt FROM '.table_doska.' d WHERE `hide` GROUP BY category) as d ';
$sql.='ON d.category = t.id ';
$sql.='ORDER BY `name`';
$preresult=mysql_query($sql) or die(mysql_error());
if($preresult && mysql_num_rows($preresult) != 0) {
while (@$presql_ar=mysql_fetch_assoc($preresult)) {
echo "<div class=block>";
echo "<p class=block-head><a href='?tip=".$presql_ar['id']."'>".$presql_ar['name']." (".$presql_ar['cmtcnt'].")</a></p>\r\n";
if($presql_ar['cmtcnt'] > 0){
$sql='SELECT id,name,created FROM '.table_doska.' WHERE `hide` AND category='.$presql_ar['id'].' ORDER BY `created` DESC LIMIT 0,10';// показывать все разрешенные
$result=mysql_query($sql) or die(mysql_error());
if($result && mysql_num_rows($result) != 0) {
echo "<table cellpadding=2 cellspacing=0 ><tr><th>Дата<th>Тема";
while (@$sql_ar=mysql_fetch_assoc($result)) {
echo "<tr><td>".$sql_ar['created']."<td><a href='?id=".$sql_ar['id']."'>".$sql_ar['name']."</a>\r\n";
}
echo "</table>";
}
}
echo "<P class=tar>Все объявления <a href='?tip=".$presql_ar['id']."'>".$presql_ar['name']." (".$presql_ar['cmtcnt'].")</a>";
echo "</div>";
}
} | |
|
|
|
|
|
|
|
для: Eugene77
(01.07.2009 в 20:27)
| | Да, но не советую, попробовал так сделать - результат разочаровал. Скорость выполнения оставляет желать лучшего. Проще сделать, как предложил Trianon | |
|
|
|
|
|
|
|
для: Trianon
(01.07.2009 в 19:37)
| | Это наверно процедурами надо как-то решать? | |
|
|
|
|
|
|
|
для: Eugene77
(01.07.2009 в 19:23)
| | врядли выполнимо. | |
|
|
|
|
|
|
|
для: Trianon
(24.06.2009 в 00:26)
| | А как надо изменить структуру таблиц чтобы ради решения этой распространённой задачи не посылать сотни запросов? | |
|
|
|
|
|
|
|
для: Trianon
(24.06.2009 в 00:26)
| | Видел нечто подобное одним запросом, но на другой СУБД, разве нереально такое в MySQL | |
|
|
|
|
|
|
|
для: Лена
(24.06.2009 в 00:20)
| | >Ошиблась. С LIMIT`ом здесь никак нельзя и без двух запросов, где во втором указать этот LIMIT, наверное, не обойтись.
>И средствами РНР тоже никак не получится?
средствами php вполне. Только не двумя запросами, а n+1
Первый выберет n категорий, остальные - тройки строк.
PS. Не надо. | |
|
|
|
|
|
|
|
для: Trianon
(23.06.2009 в 23:08)
| | Ошиблась. С LIMIT`ом здесь никак нельзя и без двух запросов, где во втором указать этот LIMIT, наверное, не обойтись.
И средствами РНР тоже никак не получится?
PS Вообще-то если вы не догоняете, значит 99% неправильно. | |
|
|
|
|
|
|
|
для: Лена
(23.06.2009 в 14:10)
| | что-то я не догоняю, как тут подставить нужный ( тот что в заголовке темы) LIMIT. | |
|
|
|
|