Форум портала Metropolis Галерея   
Добро пожаловать. Пожалуйста, войдите или зарегистрируйтесь.
21 Ноябрь 2024, 16:31 *

Форум Metropolis в мобильном формате [подробнее]
 
   Начало   Помощь Поиск Правила Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Ламерский вопрос по MySQL  (Прочитано 1822 раз)
0 Пользователей и 1 Гость смотрят эту тему.
eXtractor
Житель форума
*****

Репутация: 191
Сообщений: 1977


WWW Email
: 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 />';
}
?>


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

Репутация: 22
Сообщений: 259


Ответ #1 : 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;

eXtractor

это мы придумали оружие массового поражения и ездим на нем!
eXtractor
Житель форума
*****

Репутация: 191
Сообщений: 1977


WWW Email
Ответ #2 : 07 Март 2008, 18:55

Спасибо.
Intoxikata
Завсегдатай
****

Репутация: 22
Сообщений: 259


Ответ #3 : 07 Март 2008, 18:58

смотрю на ваши два запроса уже десять минут  и не могу понять что Вы делаете. Если две таблицы связаны по внешнему ключу (users.id -> news.author) имхо удобнее их называть единообразно

это мы придумали оружие массового поражения и ездим на нем!
eXtractor
Житель форума
*****

Репутация: 191
Сообщений: 1977


WWW Email
Ответ #4 : 07 Март 2008, 19:07

---
« Последнее редактирование: 07 Март 2008, 19:12 от eXtractor »
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines
Text only version | PDA version