Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Один запрос к 2 таблицам
 
 автор: f@ntom   (28.02.2010 в 02:55)   письмо автору
 
 

Здравствуйьте.
Сразу вопрос: есть 2 таблицы

<?
CREATE TABLE 
`user` (
  `
idint(11NOT NULL auto_increment,
  `
nameint(11NOT NULL,
  `
uatext collate utf8_bin NOT NULL,
  `
ipvarchar(15collate utf8_bin NOT NULL,
  
PRIMARY KEY  (`id`)
)
?>


И


<?
CREATE TABLE 
`message` (
  `
idint(11NOT NULL auto_increment,
  `
autorint(11NOT NULL,   //Здесь id юзера из таблицы выше
  
`messagetext collate utf8_bin NOT NULL,
  `
timedatetime NOT NULL,
  
PRIMARY KEY  (`id`)
)
?>


Известно id сообщения из таблицы сообщений, можно ли одним запросом узнать имя юзера из таблицы юзеров?

Сейчас я это делаю так:

<?
$resmet 
mysql_query("SELECT * FROM message WHERE id='".$mes."' LIMIT 1");
$resz mysql_query("SELECT * FROM users WHERE id='".mysql_result($resmet,0,"autor")."' LIMIT 1");

echo 
'<b>Автор:</b> '.mysql_result($resz,0,"name").'<br>';
?>

  Ответить  
 
 автор: admiral   (28.02.2010 в 03:28)   письмо автору
 
   для: f@ntom   (28.02.2010 в 02:55)
 

SELECT
  user.name, message.*  
FROM 
     message 
LEFT JOIN 
  user  ON user.id =  message.autor
WHERE 
   message.autor = $author AND message.id = $id


где $author = ид автора

  Ответить  
 
 автор: Trianon   (28.02.2010 в 08:16)   письмо автору
 
   для: admiral   (28.02.2010 в 03:28)
 

Вот это - message.autor = $author AND - лишнее.

  Ответить  
 
 автор: admiral   (28.02.2010 в 12:30)   письмо автору
 
   для: Trianon   (28.02.2010 в 08:16)
 

Впринципе да, id же уникальный

  Ответить  
 
 автор: Trianon   (28.02.2010 в 14:50)   письмо автору
 
   для: admiral   (28.02.2010 в 12:30)
 

Не только в принципе но и по ходу.
Ведь не факт, что читаются данные message автора, являющегоя текущим пользователем.

  Ответить  
 
 автор: f@ntom   (28.02.2010 в 16:16)   письмо автору
 
   для: admiral   (28.02.2010 в 03:28)
 

Всем, спасибо ) Попробую внедрить =)

Сделал, спасибо, работает как часы =)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования