Nik_Bar
13.10.2012 - 14:26
Ребят, такая проблем. У какого-либо профиля, который занесен в БД есть два числа(это id записи из другой таблицы). И вот вопрос, мне нужно вывести эти две записи, у которых id равны этим двум значениям в полях. Как составить sql запрос в
php файле.
<?php
$p1 = $row_user['p1'];
$p2 = $row_user['p2'];
?>
^^ вот эти две переменных.
если правильно понял - примерно так
SELECT t1.`p1`, t2.`p2`
FROM `table_users` tu
LEFT JOIN `table1` t1 ON t1.`id` = tu.`id_table1`
LEFT JOIN `table2` t2 ON t2.`id` = tu.`id_table2`
Nik_Bar
13.10.2012 - 14:36
А пояснить можешь? Сразу скажу, что я уже вывел из БД эти id полей, которых надо достать из другой таблицы( это как раз переменные $p1 и $p2). Да и можете пояснить, как потом то, что я подучу вывести на страницу.
Есть таблица table_users
В ней есть поля id_table1 и id_table2
Эти поля указывают id записи других таблиц(table1 и table2 соответственно)
SELECT t1.`p1` - выбрать поле p1 из таблицы t1(это алиас таблицы table1)
LEFT JOIN `table1` t1 ON t1.`id` = tu.`id_table1`(присоединить строку из таблицы table1, где id записи равен значению поля id_table1 в таблице table_users)
Nik_Bar
13.10.2012 - 14:47
а как потом все это вывести?
$query = mysql_query("SELECT t1.`p1`, t2.`p2`
FROM `table_users` tu
LEFT JOIN `table1` t1 ON t1.`id` = tu.`id_table1`
LEFT JOIN `table2` t2 ON t2.`id` = tu.`id_table2`");
while($result = mysq_fetch_assoc($query))
{
echo $result['p1'];
}
Nik_Bar
13.10.2012 - 14:56
Да да я уже понял. СПС!
Nik_Bar
13.10.2012 - 15:06
Хм что-то я опять не понял. Смотри. Я из таблицы users вывел данные из полей p1 и p2. Теперь мне нужно как бы получить две записи из таблицы data, у которых id=p1 и id=p2
я тоже не понял, т.к. не знаю структуру БД, где что лежит, что надо вывести и по каким полям
Nik_Bar
13.10.2012 - 15:52
В таблице users есть два поля `p1` и `p2`. В них хранятся значения. Мне нужно вывести из таблицы `object` те записи, у которых id=p1 и p2. Значения p1 и p2 я уже вывел. Теперь мне нужно создать запрос на то, чтобы вывести эти записи из таблицы `object`, у которых id=p1 и id=p2.
Допусти p1=1 и p2=2, значит у меня выведется две записи из таблицы `object`.
Вот только не знаю как вывести эти записи.
как вариант
mysql_query("SELECT * FROM `object` WHERE `id` = ".(int)$p1." OR `id` = ".(int)$p2);
Nik_Bar
13.10.2012 - 16:29
OR это или, а мне нужно вывести и ту и другую запись.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.