Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Проблема с запросом (Sergey) 29/07/2004 - 23:51:52
      Re: Проблема с запросом (dionis) 30/07/2004 - 09:14:46
      Re: Проблема с запросом (dionis) 30/07/2004 - 09:15:42
      Re: Проблема с запросом (DarkMan) 30/07/2004 - 09:21:00
      Re: Проблема с запросом (DarkMan) 30/07/2004 - 09:22:30
      Re: Проблема с запросом (Sergey) 30/07/2004 - 21:29:39

> Original message text:
> From: Sergey - 29/07/2004 - 23:51:52
> Subject:Проблема с запросом
> -----------------
> Здраствуйте! Возникла вот такая проблема. Имеется таблица категорий category:
> cid - ид категории, сname - ее название
> Кроме того, есть таблица статей (articles),где
> aid- ид статьи,
> aname- название статьи
> adate- дата размещения
> apid- ид родит. категории.
> Проблема вот в чем: Результирующий запрос должен состоять из статей, по две последних из каждой категории и . Сколько не бьюсь, ничего не выходит
>


From: DarkMan - 30/07/2004 - 09:21:00
Subject:Проблема с запросом
-----------------
Можно отобрать из articles все apid с limit 0,2 А нозвания категорий уже отбирать из таблицы категорий названия по их id=apid... Немного запутано написал. Но думаю разберешься.
------------------------------------------------
Примерно так:
Articles Category
+---+-----+-----+----+ +---+-----+
|aid|aname|adate|apid| |cid|cname|
+---+-----+-----+----+ +---+-----+
| 1 |art01|22.09|100 | |100|Lite |
| 2 |art02|22.09|100 | |101|Med |
| 3 |art03|23.09|102 | |103|Heavy|
| 4 |art04|24.09|101 | +---+-----+
| 5 |art05|24.09|103 |
+---+-----+-----+----+

PHP запрос:
<?
print("<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n");
print("<tr bgcolor=\"#000000\"> ");
print("<td><font color=\"#FFFFFF\" size=\"+1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Date</font></td>\n");
print("<td><font color=\"#FFFFFF\" size=\"+1\" face="Verdana, Arial, Helvetica, sans-serif\">Category</font></td>\n");
print("<td><font color=\"#FFFFFF\" size=\"+1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Name</font></td></tr>");
for($id=100;$id<=103;$id++){
sql="SELECT * FROM articles WHERE apid='$id' ORDER BY adate LIMIT 0,2 DESC";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
$cid="$row[apid]";
$aname="$row[aname]";
$adate="$row[adate]";
$aid="$row[aid]";
$sql2="SELECT * FROM category WHERE cid='$cid'";
$result2 = mysql_query($sql2);
while ($row2 = mysql_fetch_array($result2)) {
$cname="$row[cname]";
}
//Теперь всё это красиво (хотя не совсем) нарисуем:
print("<tr>\n");
print("<td>$adate</td>\n");
print("<td>$cname</td>\n");
print("<td>$aname</td></tr>\n");
}
</table>


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
16386



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |