SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 18.03.2011 21:34:04

datvid
Участник
Зарегистрирован: 18.03.2011
Сообщений: 15

Выборка статей определенной категории

Привет всем!!!Я создал сайт онлайн кинотеатр,он пока на локал-сервере.
Есть база данных в Mysql.В ней три таблицы.Разделы-part,категории-catigories и таблица-content(здесь все фильмы  драмы ,комедии и т.д.).Подскажите пожалуйста как правильно сделать запрос что бы выводились фильмы определенной категории.Например по жанру  драма которая в таблице категорий id=11.В таблице сонтента есть строка категорий  catid.

Неактивен

 

#2 18.03.2011 21:38:07

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Выборка статей определенной категории

SELECT * FROM content WHERE catid=11?

Неактивен

 

#3 18.03.2011 22:44:36

datvid
Участник
Зарегистрирован: 18.03.2011
Сообщений: 15

Re: Выборка статей определенной категории

У меня такое подключение:


    <?php
define("HOST","localhost");
define("USER","root");
define("PASS","");
define("DB","lama");
$link = mysql_connect(HOST,USER,PASS) or die (mysql_error());
  mysql_select_db(DB, $link);
       
         
        mysql_query ("SET NAMES utf8");
        mysql_query ("set character_set_client='utf8'");
        mysql_query ("set character_set_results='utf8'");
        mysql_query ("set collation_connection='utf8_general_ci'");
    $sql = "SELECT * FROM `drama` order by `id` desc LIMIT 1, 10";
       
         $result = mysql_query($sql) or die(mysql_error() ."<br/>". $sql);

Неактивен

 

#4 18.03.2011 22:45:47

datvid
Участник
Зарегистрирован: 18.03.2011
Сообщений: 15

Re: Выборка статей определенной категории

Где вставить предложенный Вами код...?

Неактивен

 

#5 19.03.2011 01:36:30

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Выборка статей определенной категории

Ну, очевидно, там, где это нужно приложению smile Можно, например,
вместо предпоследней непустой строки.

Неактивен

 

#6 19.03.2011 01:58:47

datvid
Участник
Зарегистрирован: 18.03.2011
Сообщений: 15

Re: Выборка статей определенной категории

Большое спасибо за помощь все получилось.
Еще один вопрос.Можно ли прописать в таблице базы данных mysql 2–а или 3-и значения
строке катигорий(catid).Некоторые же фильмы относяться одновременно к разным жанрам(в моем случае категориям.Подскажите как поступить мне..?

Неактивен

 

#7 19.03.2011 02:48:15

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 849

Re: Выборка статей определенной категории

Лучше для этого завести третью таблицу, где хранить соответствие в виде пар id фильма-id жанра.

Неактивен

 

#8 19.03.2011 11:00:34

datvid
Участник
Зарегистрирован: 18.03.2011
Сообщений: 15

Re: Выборка статей определенной категории

А поконкретнее можно объяснить? У меня же есть таблица категорий .В ней прописаны жанры.
В таблице строки  ID(порядковый номер жанра) и TITLE(название жанра)

Неактивен

 

#9 19.03.2011 12:42:13

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Выборка статей определенной категории

Вмешаюсь немного smile.

То, о чём написал paulus, называется отношением "один-ко-многим", погуглите это.

Связь с отношением "один-ко-многим" является наиболее часто используемым типом связи между таблицами. В такой связи каждой записи в таблице A могут соответствовать несколько записей в таблице B, а запись в таблице B не может иметь более одной соответствующей ей записи в таблице A. Например, в одной группе может учиться несколько студентов, но ни один студент не может учиться сразу в нескольких группах.
(с)

В Вашем случае почти то же самое, то есть один фильм может относиться к нескольким жанрам.

Например:

Таблица Category(ID жанра, Название жанра)
1 Комедия
2 Триллер
3 Ужасы

Таблица Films(ID фильма, название фильма, .... что еще нужно хранить про фильм)
1 Розовая пантера
2 Крысиные бега
3 История одного Вампира
4 Дом с приколами

Будем считать, что Розовая пантера и Крысиные бега - это комедии, История одного вампира - это одновременно Боевик, Комедия и Ужасы, а Дом с приколами - это Комедия и Ужасы.

Заводим таблицу для связи фильмов и жанров.

Таблица Category_Film(id жанра, id фильма)
1 1 (Розовая пантера - Комедия)
1 2 (Крысиные бега - Комедия)
1 3 (История одного вампира - Комедия)
2 3 (История одного вампира - Триллер)
3 3 (История одного вампира - Ужасы)
1 4 (Дом с приколами - Комедия)
3 4 (Дом с приколами - Ужасы)

Таким образом, зная id фильма, можно выбрать из этой таблицы id тех жанров, к которым он относится


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#10 19.03.2011 20:01:32

datvid
Участник
Зарегистрирован: 18.03.2011
Сообщений: 15

Re: Выборка статей определенной категории

Я поступил как Вы мне подсказали и создал дополнительную таблицу связи content_catigories
c двумя полями 1-ое поле id_content и второе поле id_catigories.  id_content содержит  id фильмов из таблицы content,а id_catigories порядковые номера жанров из таблицы catigories.
У меня до этого в файле conect_db было прописано как указано ниже и все нормально работало.Сейчас я проэкспериментировал с новой таблицей и ни чего не получаеться,
Привожу connect_db файл который был раньше при нормальной работе!!!




    <?php
define("HOST","localhost");
define("USER","root");
define("PASS","");
define("DB","lama");
$link = mysql_connect(HOST,USER,PASS) or die (mysql_error());
  mysql_select_db(DB, $link);
       
         
        mysql_query ("SET NAMES utf8");
        mysql_query ("set character_set_client='utf8'");
        mysql_query ("set character_set_results='utf8'");
        mysql_query ("set collation_connection='utf8_general_ci'");
       $sql="SELECT * FROM `content` WHERE `catid`=11 order by `id` desc LIMIT 1, 10";

      
         $result = mysql_query($sql) or die(mysql_error() ."<br/>". $sql);

Неактивен

 

#11 19.03.2011 20:10:46

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Выборка статей определенной категории

datvid написал:

У меня до этого в файле conect_db было прописано как указано ниже и все нормально работало.Сейчас я проэкспериментировал с новой таблицей и ни чего не получаеться,

Что именно не получается, что делали? Вопрос-то в чем?

Неактивен

 

#12 19.03.2011 20:18:54

datvid
Участник
Зарегистрирован: 18.03.2011
Сообщений: 15

Re: Выборка статей определенной категории

Я же пояснил что создал новую таблицу и не получаеться правильно прописать код в файле представленым выше ...Например для вывода фильмов только катигории драмы id_catigories=11

Неактивен

 

#13 19.03.2011 20:24:03

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Выборка статей определенной категории

SELECT c.* FROM content c JOIN content_catigories cc ON id_content=id WHERE id_catigories=11

Неактивен

 

#14 19.03.2011 20:28:41

datvid
Участник
Зарегистрирован: 18.03.2011
Сообщений: 15

Re: Выборка статей определенной категории

Спасибо! А можете объяснить что обозначают буквы
c *From... и      ...сс  ON...

Неактивен

 

#15 19.03.2011 20:34:33

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Выборка статей определенной категории

Неактивен

 

#16 19.03.2011 21:02:34

datvid
Участник
Зарегистрирован: 18.03.2011
Сообщений: 15

Re: Выборка статей определенной категории

Deadka и vasya Архат  Вы мне здрово помогли!!! Огромное спасибо Вам!!!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson