Форум портала Metropolis

Высокие технологии и мобильный мир => Создание ресурсов => Тема начата: eXtractor от 07 Март 2008, 17:43



Название: Ламерский вопрос по MySQL
Отправлено: eXtractor от 07 Март 2008, 17:43
Есть, скажем, таблица с пользователями (users)
Код:
| id | nickname |
|====|==========|
|  1 | User1    |
|  2 | User2    |
|  3 | User3    |

и с новостями (news)
Код:
| id | text | author |
|====|======|========|
|  1 | ...  |      3 |
|  2 | ...  |      2 |
|  3 | ...  |      3 |

Делаю так:
Код:
<?php
mysql_connect
('host','user','pass');
$result_news mysql_query('SELECT * FROM news ORDER BY id DESC');
while (
$row_news mysql_fetch_assoc($result_news)) {
$result_user mysql_query('SELECT * FROM users WHERE id='.$row_news['author'].' LIMIT 1');
$row_user mysql_fetch_assoc($result_user);
echo $row_news['text'].'<br /><i>'.$row_user['nickname'].'</i><hr />';
}
?>


Короче… можно как-нибудь избавиться здесь от лишних запросов? Подозреваю, что можно. Как?


Название: Re: Ламерский вопрос по MySQL
Отправлено: Intoxikata от 07 Март 2008, 18:50
select users.id as id, users.nickname as nick, news.text as text, news.author as author
from users, news
where users.id = news.id
order by users.id DESC;


Название: Re: Ламерский вопрос по MySQL
Отправлено: eXtractor от 07 Март 2008, 18:55
Спасибо.


Название: Re: Ламерский вопрос по MySQL
Отправлено: Intoxikata от 07 Март 2008, 18:58
смотрю на ваши два запроса уже десять минут  и не могу понять что Вы делаете. Если две таблицы связаны по внешнему ключу (users.id -> news.author) имхо удобнее их называть единообразно


Название: Re: Ламерский вопрос по MySQL
Отправлено: eXtractor от 07 Март 2008, 19:07
---