[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Запрос к двум таблицам в базе (MySQL)
Гость_Роман
Доброго времени суток!
Я новичек во всех смыслах (PHP, MySQL), обращаюсь к вам за помощью.
Я делаю небольшую систему запросов пользователей к базе и присутствует необходимость выбирать определенные записи по датам.
По-порядку, есть база в ней две таблицы.
Первая:
PHP
--
--
 Структура таблицы `user`
--
 
CREATE TABLE IF NOT EXISTS 
`user` (
  `id` int(4) NOT NULL auto_increment,
  `username` varchar(255) NOT NULL,
  `fio` varchar(255) NOT NULL,
  `dolznost` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
)
 ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=;

Вторая:
PHP
--
--
 Структура таблицы `zapros`
--
 
CREATE TABLE IF NOT EXISTS 
`zapros` (
  `id` int(11) NOT NULL auto_increment,
  `spec` varchar(255) NOT NULL,
  `adres` text NOT NULL,
  `obekt` varchar(255) NOT NULL,
  `primech` text NOT NULL,
  `datazaprosa` date NOT NULL,
  PRIMARY KEY  (`id`)
)
 ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=11 ;

Я обращаюсь запросом к таблице "zapros" где $dateg - это дата передаваемая формой
PHP
$result = mysql_query("SELECT * FROM zapros WHERE datazaprosa = "$dateg"");

далее вывожу в цыкле все результаты которые соответствуют определенной даты ($dateg) и делаю из них таблицу
PHP
<table width="90%" border="0" align="center">
 <tr>
 <td class="td1"><center>ФИО и должность специалиста</center></td>
 <td class="td1"><center>Адрес объекта</center></td>
 <td class="td1"><center>Наименование объекта</center></td>
 <td class="td1"><center>Примечание</center></td>
 <td class="td1"><center>Дата запроса</center></td>
 </tr>
  <?php
  $myrow 
= mysql_fetch_row($result);
  do{echo"<tr><td>$myrow[1]</td>
  <td>$myrow[2]</td>
  <td>$myrow[3]</td>"
;
  if($myrow[4]!==""){echo"<td>$myrow[4]</td>";}else{echo"<td><font color="#FF0000">нет</font></td>";}
  echo"<td>$dates</td></tr>";}
  while ($myrow = mysql_fetch_row($result));

В элемент массива $myrow[1] попадают все поля "spec" из таблицы "zapros", но там такого вида например (gorelov, sorokina, sidorov и т.д.)
В таблице "user" есть поле "username" которое также имеет содержание с пользователями (gorelov, sorokina, sidorov и т.д.). Поле "fio" содержит полное Фамилие Имя Отчество пользователя.
Мне надо сделать такой запрос что бы из таблицы "zapros" выбирались поля spec`
`adres``obekt` `primech``datazaprosa`, а на место элемента массива в цикле подставлялись полные ФИО пользователей из таблицы "user" -> поля "fio"
Тоесть фактически нужно одним запросом выбрать разные поля из двух разных таблиц и вывести их в цикле где бы gorelov соотсетствовало Горелов Роман Геннадьевич полное ФИО.

Не предлогайте переделать структуру базы (это не приемлемо пока). Как можно это осуществить может не только запросом а средствами PHP.
Помогите пожалуйста, очень надеюсь на ващу помощь



Спустя 15 часов, 13 минут, 31 секунда (21.09.2009 - 07:28) kirik написал(а):
Попробуй
SQL
SELECT `тут нужные поля` FROM `user` AS `u` LEFT JOIN `zapros` AS `z` ON `z`.`id` = `u`.`id` WHERE ...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.