|
|
|
| Две таблицы
Разделов
artpage
id_artpage | name
1 |главное
2 |разное
Статей
articles
id_article|name |id_page
1 |статья 1 | 1
2 |статья 2 | 1
3 |статья 3 | 1
4 |статья 1-1 | 2
5 |статья 1-2 | 2
Нужно вывести названия разделов, названия статей в каждом разделе и сосчитать, сколько статей в каждом разделе.
Запрос выполняю так
$query = "SELECT artpage.id_artpage AS id,
artpage.name AS name,
articles.id_article AS cid,
articles.name AS category,
COUNT(articles.id_page) AS page
FROM artpage INNER JOIN articles ON articles.id_page=artpage.id_artpage
WHERE artpage.id_artpage AND
hide='show'
GROUP BY articles.name, artpage.name
";
|
| |
|
|
|
|
|
|
|
для: куч1963
(30.07.2006 в 09:54)
| | Хм... зря вы в один запрос всё пытаетесь засунуть - лучше выполнить несколько отдельных простых запросов. | |
|
|
|
|
|
|
|
для: cheops
(30.07.2006 в 11:22)
| | Разбить на несколько простых запросов и объединить их через UNION? | |
|
|
|
|
|
|
|
для: куч1963
(30.07.2006 в 20:53)
| | Зачем столько геморроя? Просто На первый запрос $mysql_fethc_array(первый запрос), на второй запрос $mysql_fethc_array(второй запрос), а потом с помощью циклов выводить все "на бумагу" | |
|
|
|
|
|
|
|
для: Lelik
(30.07.2006 в 21:07)
| | На счет первого запроса ясно, а второй запрос получается в цикле, что не есть гуд, вот и геморюсь, или как , если не влом накинеь пример. | |
|
|
|
|
|
|
|
для: куч1963
(30.07.2006 в 09:54)
| |
$query1 = mysql_query(SELECT * FROM artpage);
while($result1 = mysql_fetch_array($query1))
{
$query = mysql_query(SELECT * FROM articles WHERE id_artpage = $result1['id_artpage']);
echo $result1['name'];
echo '<ul>';
while($result2 = mysql_fetch_array($query))
{
echo '<li>'.$result2["name"].'</li>';
}
echo '</ul>';
}
|
ну, или, что-то в этом роде | |
|
|
|
|
|
|
|
для: Lelik
(30.07.2006 в 23:55)
| | Так все четко работает, только смущает запрос в цикле. Я двутабличным запросом специально уходил от запроса в цикле. | |
|
|
|