[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите составить запрос.
papa_serg
Здравствуйте, скажем есть таблица GroupList, содержащая следующие поля:
id = 123
g1 = 1
g2 = 2
g3 = 3
Помимо этого, если ещё 3 таблицы, содержащие поля:

Таблица Group_1, с полями:
id,title
Таблица Group_2, с полями:
id,title
Таблица Group_3, с полями:
id,title

Вопрос, как объединить в один запрос, Выборку по id из таблицы GroupList, и вывод значений из таблиц Group_?, где g1,2,3 (GroupList)= id(Group_1,2,3)?
Спасибо.



Спустя 9 минут, 14 секунд (7.12.2010 - 12:36) papa_serg написал(а):
SELECT id, g1.item_title as gi1, g2.item_title as gi2, g3.item_title as gi3
FROM `GroupList` as cug
LEFT JOIN group_1 as g1 ON g1.item_id = cug.u_group_1
LEFT JOIN group_2 as g2 ON g2.item_id = cug.u_group_2
LEFT JOIN group_3 as g3 ON g3.item_id = cug.u_group_3
WHERE cug.id = 532

Спустя 11 дней, 2 часа, 12 минут, 12 секунд (18.12.2010 - 14:48) Guest написал(а):
Есть таблица base в которой есть поля ID, company, adres и т.д.
Есть таблица contact в которой поля ID, fio

Есть страница index.php которая отображает все company
SELECT * FROM base

<a href="base.php"><?php echo $row[company]; ?></a>


Есть страница base.php которая отображает подробную информацию о компании и контактные лица

Я вывожу запросом
SELECT * FROM base, contact WHERE base.id = contact.id LIMIT 1

Вопрос: как сделать вывод по ID. Чтоб если я нажал на компанию A выводилась информация об А, если по ссылке перешел на Б, выводилась информация о Б.

У меня сейчас что А, что Б, что С, выдает информацию об А.

Спустя 9 часов, 34 минуты, 42 секунды (19.12.2010 - 00:23) alex12060 написал(а):
SELECT * FROM base, contact WHERE base.id = contact.id LIMIT 1


Очень интересный запрос. Ты contact.id откуда взял? Из другого запроса? Или это как-бы константа? Непонятно)
Проще так сделать:


$sql = mysql_query('SELECT * FROM `base`');

while($row = mysql_fetch_assoc($sql))
{
echo '<a href="base.php?cid=';
echo $row['id'];
echo '" alt="">';
echo $row['company'];
echo '</a>'."\n\r";
}

// Далее поплыли в запрос

$id = htmlspecialchars(trim($_GET['cid']));

// Проверка, пустая или нет, существует иль жэ нет

$company_info = mysql_query("SELECT * FROM `base`, `contact` WHERE base.id = '$id' LIMIT 1");

if (mysql_num_row($company_info)) > 0)
{
// Выводи сюда инфу, бла бла
}

Спустя 9 часов, 37 минут, 2 секунды (19.12.2010 - 10:00) Guest написал(а):
У меня два файла: index.php это шаблон который показывает список компаний

$sql = mysql_query('SELECT * FROM `base`');

while($row = mysql_fetch_assoc($sql))
{
echo '<a href="base.php?cid=';
echo $row['id'];
echo '"
alt="">';
echo $row['company'];
echo '</a>'."\n\r";
}


а второй файл base.php это шаблон для отображения контактных данных компании
тут я вставил:
// Далее поплыли в запрос

$id = htmlspecialchars(trim($_GET['cid']));

// Проверка, пустая или нет, существует иль жэ нет

$company_info = mysql_query("SELECT * FROM `base`, `contact` WHERE base.id = '$id' LIMIT 1");

if (mysql_num_row($company_info)) > 0)
{
// Выводи сюда инфу, бла бла
}


base.php выдает ошибку
Parse error: syntax error, unexpected '>' in W:\home\kodeks\www\base.php on line 11


Спустя 54 секунды (19.12.2010 - 10:01) Guest написал(а):
На этот код выдает ошибку: if (mysql_num_row($company_info)) > 0)

Спустя 8 минут, 42 секунды (19.12.2010 - 10:09) Guest написал(а):
Вместо

if (mysql_num_row($company_info)) > 0)


написал

while($row = mysql_fetch_assoc($company_info))


все работает.

Спасибо!

Спустя 1 час, 14 минут, 5 секунд (19.12.2010 - 11:24) inpost написал(а):
Guest
Посчитай количество открывающихся скобок и закрывающихся в условии =)

Спустя 1 час, 40 минут, 46 секунд (19.12.2010 - 13:04) alex12060 написал(а):
Да, пардон)
Я скобку лишнюю поставил)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.