Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выбор из двух таблиц, Не пойму где ошибка 
V
    Опции темы
ego1977
Дата 19.9.2011, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 5.11.2007

Репутация: нет
Всего: нет



Есть 2 таблицы menu, podmenu. 
menu: id, name.

podmenu: id, parent, name.
menu.id = podmenu.parent.

Есть поля с названиями: id, name. Вывести данные из одной таблицы получается, а из двух нет.
Вот запрос, который работает и который я пытаюсь изменить, чтоб работал как я хочу:

Код

<table border="1" align="left">
<? include ('connect.php'); ?>
<? 
$id = $_GET['id'];
$name = $_GET['name'];
$query3 = "SELECT a.id AS a_id, a.name AS a_name, b.id AS b_id, b.parent, b.name AS b_name
FROM menu AS a
LEFT JOIN podmenu AS b ON b.parent = a.id ORDER BY id ASC";
$query_result3 = mysql_query($query3, $link);
if (false === $query_result3)
   die ('Error database SQL query<br>');
     while ($row = mysql_fetch_assoc($query_result3)){  
  print '<tr><td>'.$row['id'].'</td><td>'.$row['name'].'</td><td>
<a href="editor2.php?id='.$row['id'].'">Óäąėčņü</a></td></tr>';
   }
?>
</table>



Это сообщение отредактировал(а) ego1977 - 20.9.2011, 13:40
PM MAIL   Вверх
Akina
Дата 19.9.2011, 21:27 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



ego1977, с PHP-кодом отправляйтесь в форум по PHP.
А здесь размещайте строку запроса после того, как в неё сделаны все подстановки. без HTML- и PHP-хлама.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Gold Dragon
Дата 20.9.2011, 07:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



Код

SELECT a.id AS a_id, a.name AS a_name, b.id AS b_id, b.parent, b.name AS b_name
FROM name AS a
LEFT JOIN podmenu AS b ON b.parent = a.id



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
ego1977
Дата 20.9.2011, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 5.11.2007

Репутация: нет
Всего: нет



Спасибо, а куда вставлять WHERE pid='".$id."'?
PM MAIL   Вверх
AndreyIQ
Дата 20.9.2011, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 5.2.2007

Репутация: 2
Всего: 8



Цитата(ego1977 @ 20.9.2011,  10:56)
Спасибо, а куда вставлять WHERE pid='".$id."'?

Код

SELECT a.id AS a_id, a.name AS a_name, b.id AS b_id, b.parent, b.name AS b_name
FROM name AS a
LEFT JOIN podmenu AS b ON b.parent = a.id
WHERE b.id='".$id."'

Как-то так
PM MAIL   Вверх
Gold Dragon
Дата 20.9.2011, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



Код

"SELECT a.id AS a_id, a.name AS a_name, b.id AS b_id, b.parent, b.name AS b_name
FROM name AS a
LEFT JOIN podmenu AS b ON b.parent = a.id
WHERE pid=".$id



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
ego1977
Дата 20.9.2011, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 5.11.2007

Репутация: нет
Всего: нет



Скажите, а куда вставлять ORDER BY id ASC: до или после LEFT JOIN?

Добавлено через 4 минуты и 15 секунд
Всем большое спасибо!
PM MAIL   Вверх
AndreyIQ
Дата 20.9.2011, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 5.2.2007

Репутация: 2
Всего: 8



Цитата(ego1977 @ 20.9.2011,  12:25)
Скажите, а куда вставлять ORDER BY id ASC: до или после LEFT JOIN?

Добавлено @ 12:30
Всем большое спасибо!

Код

"SELECT a.id AS a_id, a.name AS a_name, b.id AS b_id, b.parent, b.name AS b_name
FROM name AS a
LEFT JOIN podmenu AS b ON b.parent = a.id
WHERE pid=".$id."
ORDER BY id ASC"


Это сообщение отредактировал(а) AndreyIQ - 20.9.2011, 12:41
PM MAIL   Вверх
ego1977
Дата 20.9.2011, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 5.11.2007

Репутация: нет
Всего: нет



У меня ошибка, запрос неправильный.
PM MAIL   Вверх
AndreyIQ
Дата 20.9.2011, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 5.2.2007

Репутация: 2
Всего: 8



Цитата(ego1977 @ 20.9.2011,  13:37)
У меня ошибка, запрос неправильный.

какая ошибка?
PM MAIL   Вверх
ego1977
Дата 20.9.2011, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 5.11.2007

Репутация: нет
Всего: нет



А в Mysql всё работает.

Добавлено @ 13:41
Error database SQL query

Добавлено @ 13:46
Ошибка в этом запросе

Код

SELECT a.id AS a_id, a.name AS a_name, b.id AS b_id, b.parent, b.name AS b_name
FROM menu AS a
LEFT JOIN podmenu AS b ON b.parent = a.id ORDER BY a.id ASC



В mysql работает, а в пхп коде это не работает. Пишет, ошибка в запросе.

Код

<table border="1" align="left">
<? include ('connect.php'); ?>
<? 
$id = $_GET['id'];
$name = $_GET['name'];
$query3 = "SELECT a.id AS a_id, a.name AS a_name, b.id AS b_id, b.parent, b.name AS b_name
FROM menu AS a
LEFT JOIN podmenu AS b ON b.parent = a.id ORDER BY a.id ASC";
$query_result3 = mysql_query($query3, $link);
if (false === $query_result3)
   die ('Error database SQL query<br>');
     while ($row = mysql_fetch_assoc($query_result3)){  
  print '<tr><td>'.$row['id'].'</td><td>'.$row['name'].'</td><td>
<a href="editor2.php?id='.$row['id'].'">Óäąėčņü</a></td></tr>';
   }
?>
</table>


Добавлено @ 13:48
С выборкой из одной таблицы всё нормально, но как только присоединяю вторую...всё время ошибка.

Это сообщение отредактировал(а) ego1977 - 20.9.2011, 13:54
PM MAIL   Вверх
ego1977
Дата 20.9.2011, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 5.11.2007

Репутация: нет
Всего: нет



Всё работает! Спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0518 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.