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

Форум MySQL

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

 

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

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

тема: Двух табличный SQL запрос
 
 автор: Blackadder   (21.09.2012 в 15:22)   письмо автору
 
 

Подскажите пожалуйста как сделать следующую вещь.
У меня есть две таблицы.
В первой под названием categories хранится ID категории и ее название – TITLE. В таблице три записи.
Во второй таблице под названием DATA хранятся статьи, ID – самой статьи, и ее краткое описание - description. В таблице две записи.
Мне нужно добиться следующего. Вывест в верхней ячейки данные из таблицы categories, а конкретно title. Это я смог сдесать вот так:

$result = mysql_query("SELECT id, title FROM categories", $db);
if (mysql_num_rows($result) >= 0)
{
$myrow = mysql_fetch_array($result);

do
{
    print('<table width="100%" border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td bgcolor="#00FF00"><p><a href="view_post.php?id='.(int)$myrow["id"].'">'
                . htmlspecialchars($myrow["title"]) .'</a></p></td>
  </tr>
  <tr>
    <td>Здесь в цикле должны выводиться статьи принадлежащие этой категории</td>
  </tr>
</table>');
}
while($myrow = mysql_fetch_array($result));
}

Теперь мне нужно во вторую ячейка, где написано «Здесь в цикле должны выводиться статьи принадлежащие этой категории» я должен вывести в цикле статьи из второй таблицы принадлежащие этой категории. Во второй таблицы есть поле ID категории.
Подскажите пожалуйста, как мне это сделать? Заранее благодарен.

  Ответить  
 
 автор: Sfinks   (21.09.2012 в 15:45)   письмо автору
 
   для: Blackadder   (21.09.2012 в 15:22)
 

А где связь между таблицами?

  Ответить  
 
 автор: Blackadder   (21.09.2012 в 16:50)   письмо автору
 
   для: Sfinks   (21.09.2012 в 15:45)
 

В том то и дело что я не могу составить правильно запроса с объединением данных из двух таблиц.

  Ответить  
 
 автор: Sfinks   (21.09.2012 в 20:50)   письмо автору
 
   для: Blackadder   (21.09.2012 в 16:50)
 

В том и дело, что у вас таблицы не связаны между собой!

> В первой под названием categories хранится ID категории и ее название – TITLE.
Т.е. в таблице categories есть 2 поля: categories_id и categories_title

> Во второй таблице под названием DATA хранятся статьи, ID – самой статьи, и ее краткое описание - description.
Т.е. в таблице data есть 2 поля: data_id и data_description
(я бы так назвал)

А должно быть в таблице data третье поле categories_id, которое указывает к какой категории статей относится данная статья!

Тогда и с запросом все просто:
SELECT categories_title, data_id, data_description FROM categories JOIN data USING(categories_id)

  Ответить  
 
 автор: Blackadder   (22.09.2012 в 09:14)   письмо автору
 
   для: Sfinks   (21.09.2012 в 20:50)
 

Спасибо большое. Я никак не мог "склеить" два запроса в один. И мучился вокруг вложенных циклов.

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

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