a1exey
Новичок
1 запрос на несколько вариантов id
Народ, поскажите пожалуйста как сделать средствами пхп всего 1 запрос в базу, чтобы узнать 5 полей name для каждого id?
пример:
есть таблица жанров
id, name
есть таблица фильмов в которой в поле janr указаны жанры id1|id2|id3|id4|id5
можно ли оптимизировать код чтобы не 5 запросов делать в базу и пробивать имя для каждого id, а сделать 1 запрос с выбором всех имён и id, а после сравнить два массива (с id жанрами у фильма и id жанрами таблицы) и вывести имена тех id которые указаны в поле janr.
или может поскажите функцию какую в php. или примерно как это сделать.
сейчас у меня вот такой код
$ag = $film["janr"];
$genrs = explode("|", $ag);
$num = count($genrs) - 1;
for ($i = 0; $i < $num; $i++)
{
$m = mysql_fetch_row(mysql_query("SELECT name FROM janres WHERE id = $genrs[$i]"));
$arrgenres .= $m[0];
}
и в конце вывод $arrgenres.
буду благодарен за любую помощь.
Народ, поскажите пожалуйста как сделать средствами пхп всего 1 запрос в базу, чтобы узнать 5 полей name для каждого id?
пример:
есть таблица жанров
id, name
есть таблица фильмов в которой в поле janr указаны жанры id1|id2|id3|id4|id5
можно ли оптимизировать код чтобы не 5 запросов делать в базу и пробивать имя для каждого id, а сделать 1 запрос с выбором всех имён и id, а после сравнить два массива (с id жанрами у фильма и id жанрами таблицы) и вывести имена тех id которые указаны в поле janr.
или может поскажите функцию какую в php. или примерно как это сделать.
сейчас у меня вот такой код
$ag = $film["janr"];
$genrs = explode("|", $ag);
$num = count($genrs) - 1;
for ($i = 0; $i < $num; $i++)
{
$m = mysql_fetch_row(mysql_query("SELECT name FROM janres WHERE id = $genrs[$i]"));
$arrgenres .= $m[0];
}
и в конце вывод $arrgenres.
буду благодарен за любую помощь.