Имеется база сообщений вида PHP: message_id message_from message_to message_text При выводе списка мессаг нужно узнавать ник написавшего, соотв. [sql]select * from users where user_id = message_from[/sql] и потом принтить user_name Если мессаг, скажем, 200, то получится дополнительно 200 запросов на каждую. Как облегчить задачу?
Да все элементарно. Выбрать все сообщения с пользователями: [sql]select user, message from messages as mes join users on users.id=mes.from[/sql] То есть? echo
элементарно когда разберёшься имеется: таблица users [sql]user_id user_name[/sql] таблица messages [sql]message_from message_text[/sql] соотв запрос [sql]SELECT * FROM messages JOIN users ON message_from = user_id[/sql] так? и как теперь сделать отображение вида user_name wrote: message_text ? заранее спс, не стесняйтесь, пихайте в правильном направлении )
F1do PHP: <?php $query = mysql_query (...); while ($D = mysql_fetch_assoc ($query)){ $D['user_name'] . ' said: ' . $D['message_text'] . '<br />'; } ?>
из мануала [sql]SELECT * FROM t1 LEFT JOIN (t2, t3, t4) ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c)[/sql] можно ли брать данные, к примеру, из t3 по данным, полученным из t2 (в этом же запросе)?