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

Форум MySQL

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

 

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

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

тема: Извлечь данные из 2 связанных таблиц
 
 автор: Infocean   (03.09.2008 в 11:44)   письмо автору
 
 

Здравствуйте!
У меня вот такая проблема:
Есть 2 связанные таблицы:
1) category
id_cat
name_cat
title
metakey
metadescr
2) content
id
name_cat
name
namechpu
potok
site
about
picture

Через GET передаётся название категории (т.е. name_cat),ни стал делать передачу id,т.к. мне нужно сделать чистый ЧПУ (сайт будит не очень большой).
Далее мне нужно вывести все значения, у которых совпадает название категории(name_cat) из 2 таблиц.
Т.Е. я не могу понять, как правильно составить запрос!!!

Например:
URL: http://www.mysite.ru/radio/
Далее запросом типа :
mysql_query("SELECT * FROM `category, content` WHERE `name_cat` = 'radio'")
я извлекаю данные и вывожу их на экран и т.д. и т.п. (Запрос, приведённый выше, у меня не работает)

Прошу помощи у Гуру MySQL!!!

Заранее благодарен!!!

  Ответить  
 
 автор: Trianon   (03.09.2008 в 11:49)   письмо автору
 
   для: Infocean   (03.09.2008 в 11:44)
 

запись `category, content` предполагает, что у Вас имеется одна таблица с таким именем category, content

  Ответить  
 
 автор: Infocean   (03.09.2008 в 11:51)   письмо автору
 
   для: Trianon   (03.09.2008 в 11:49)
 

А как же тогда правильно составить запрос?

  Ответить  
 
 автор: Trianon   (03.09.2008 в 11:55)   письмо автору
 
   для: Infocean   (03.09.2008 в 11:51)
 

Зачем У Вас name_cat во второй таблице?
Вторая таблица, как я понял, категории не описывает.

  Ответить  
 
 автор: Infocean   (03.09.2008 в 11:59)   письмо автору
 
   для: Trianon   (03.09.2008 в 11:55)
 

Во второй таблице будет содержаться куча различного контента,который в свою очередь должен выводить при запросе той или иной категории.
Каждой новости во второй таблице будет присвоена категория и она будит вписана как раз в name_cat.

  Ответить  
 
 автор: Trianon   (03.09.2008 в 12:02)   письмо автору
 
   для: Infocean   (03.09.2008 в 11:59)
 

тогда зачем Вам первая таблица (category), если свойства категории Вы смело помещаете во вторую (content)?

  Ответить  
 
 автор: Infocean   (03.09.2008 в 12:10)   письмо автору
 
   для: Trianon   (03.09.2008 в 12:02)
 

В первой таблице буду содержаться название категории, мета-теги т.п.
А во второй будут содержаться новости(и мета-теги тоже для каждой новости свои) принадлежащие той или иной категории.

Мне надо сделать так чтобы запросив категорию из первой таблицы вывелись все данные для категории(мета-теги) и вывелись новости из второй талицы,принадлежащие запрошенной категории.

  Ответить  
 
 автор: Trianon   (03.09.2008 в 12:30)   письмо автору
 
   для: Infocean   (03.09.2008 в 12:10)
 

В таблице content в таком разе должна быть ссылка на первичный ключ таблицы category

  Ответить  
 
 автор: Infocean   (03.09.2008 в 12:36)   письмо автору
 
   для: Trianon   (03.09.2008 в 12:30)
 

ОО-о,я этого не знал!
А как эта ссылка выглядит ?

  Ответить  
 
 автор: Trianon   (03.09.2008 в 13:47)   письмо автору
 
   для: Infocean   (03.09.2008 в 12:10)
 

SELECT ct.* , cn.* 
  FROM category ct 
    LEFT JOIN content cn ON ct.id_cat  = cn.id_cat 
    WHERE name_cat = 'radio' "

  Ответить  
 
 автор: Infocean   (03.09.2008 в 14:34)   письмо автору
 
   для: Trianon   (03.09.2008 в 13:47)
 

Хм...
Спасибо конечно за запрос,но я не понял отку да взялись ct.* и cn.*.

Я смог составить запрос чуть-чуть по проще вашего наверно,покрайней мере я понимаю свой запрос:
"SELECT * FROM `category` LEFT JOIN `content` USING (name_cat) WHERE `name_cat`='".$category."'"
Гуру отзовитесь!!!
Посмотрите плиз мой запрос,норм он или нет.
Вроде работает...

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

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