Задавайте вопросы, мы ответим
Вы не зашли.
Привет всем!!!Я создал сайт онлайн кинотеатр,он пока на локал-сервере.
Есть база данных в Mysql.В ней три таблицы.Разделы-part,категории-catigories и таблица-content(здесь все фильмы драмы ,комедии и т.д.).Подскажите пожалуйста как правильно сделать запрос что бы выводились фильмы определенной категории.Например по жанру драма которая в таблице категорий id=11.В таблице сонтента есть строка категорий catid.
Неактивен
SELECT * FROM content WHERE catid=11?
Неактивен
У меня такое подключение:
<?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);
Неактивен
Где вставить предложенный Вами код...?
Неактивен
Ну, очевидно, там, где это нужно приложению Можно, например,
вместо предпоследней непустой строки.
Неактивен
Большое спасибо за помощь все получилось.
Еще один вопрос.Можно ли прописать в таблице базы данных mysql 2–а или 3-и значения
строке катигорий(catid).Некоторые же фильмы относяться одновременно к разным жанрам(в моем случае категориям.Подскажите как поступить мне..?
Неактивен
Лучше для этого завести третью таблицу, где хранить соответствие в виде пар id фильма-id жанра.
Неактивен
А поконкретнее можно объяснить? У меня же есть таблица категорий .В ней прописаны жанры.
В таблице строки ID(порядковый номер жанра) и TITLE(название жанра)
Неактивен
Вмешаюсь немного .
То, о чём написал 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 тех жанров, к которым он относится
Неактивен
Я поступил как Вы мне подсказали и создал дополнительную таблицу связи 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);
Неактивен
datvid написал:
У меня до этого в файле conect_db было прописано как указано ниже и все нормально работало.Сейчас я проэкспериментировал с новой таблицей и ни чего не получаеться,
Что именно не получается, что делали? Вопрос-то в чем?
Неактивен
Я же пояснил что создал новую таблицу и не получаеться правильно прописать код в файле представленым выше ...Например для вывода фильмов только катигории драмы id_catigories=11
Неактивен
SELECT c.* FROM content c JOIN content_catigories cc ON id_content=id WHERE id_catigories=11
Неактивен
Спасибо! А можете объяснить что обозначают буквы
c *From... и ...сс ON...
Неактивен
Неактивен
Deadka и vasya Архат Вы мне здрово помогли!!! Огромное спасибо Вам!!!
Неактивен