|
|
|
| При нажатии на пункт меню из базы выбирается текст из таблицы texts и 4 фото из таблицы img. В каждой из этих таблиц есть поле id_menu, которое связывает их с таблицей menu. Помогите исправить $_GET['id_menu']. Как указать, что это поле должно выбираться из таблицы menu?
function MenuContent(){
global $link;
$id = intval($_GET['id_menu']);
$sql="SELECT *
FROM menu, texts, img
WHERE menu.id_menu = texts.id_menu AND menu.id_menu = img.id_menu AND menu.id_menu = $id";
$result=mysql_query ($sql, $link);
while($row = mysql_fetch_assoc($result)){
print_r($row);
}
}
MenuContent();
|
| |
|
|
|
|
|
|
|
для: Лена
(25.07.2008 в 09:24)
| | а что, в menu и texts это поле отличается? | |
|
|
|
|
|
|
|
для: mechanic
(25.07.2008 в 09:51)
| | нет, поле id_menu во всех трех таблицах одинаковое. Оно связывает эти таблицы между собой. | |
|
|
|
|
|
|
|
для: Лена
(25.07.2008 в 09:53)
| | Какая разница из какой именно таблицы выбирать id_menu, тем более, что он заранее известен? | |
|
|
|
|
|
|
|
для: BinLaden
(25.07.2008 в 09:56)
| | Разницы нет. Почему же тогда не происходит передача параметра с помощью $_GET?
Появляется ошибка:
Notice: Undefined index: id_menu in s:\home\avart.ua\www\menu5.php on line 121
Вот эта строка: $id = intval($_GET['id_menu']);
Если без $_GET запрос работает | |
|
|
|
|
|
|
|
для: Лена
(25.07.2008 в 10:08)
| | Значит просто его не передавали в строке запроса.
<?php
function MenuContent(){
global $link;
if( !isset($_GET['id_menu']) ) return false;
$id = intval($_GET['id_menu']);
# ...
?>
|
| |
|
|
|
|
|
|
|
для: BinLaden
(25.07.2008 в 10:14)
| | Строка запроса: http://avart.ua/menu5.php?id=2 (или любая другая цифра - раздел меню)
При нажатии на пункт меню - пусто | |
|
|
|
|
|
|
|
для: Лена
(25.07.2008 в 10:25)
| | посылаете id, а проверяете id_menu? | |
|
|
|
|
|
|
|
для: GeorgeIV
(25.07.2008 в 10:29)
| | Нет, вы не так поняли. id формировалось еще при составлении меню. Посылаю я как раз-то id_menu.
Теперь id должно смениться id_menu, которое посылается $_GET`ом, но этого не происходит, отсюда в строке запроса и остается id. | |
|
|
|
|
|
|
|
для: Лена
(25.07.2008 в 10:34)
| | что то я совсем не понимаю, пишете
id_menu, которое посылается $_GET`ом
| , а строку запроса приводите с ??? | |
|
|
|
|
3.2 Кб |
|
|
для: GeorgeIV
(25.07.2008 в 10:38)
| | Откройте скрипт в редакторе. Там все легко понять. Вам нужны строка 103 и теперь строка 123. Вот как id меняется с id_menu. Но этого, к сожалению, не происходит.
Какое здесь может быть решение? | |
|
|
|
|
|
|
|
для: Лена
(25.07.2008 в 10:52)
| |
$list.= "<li><A HREF=\"?id=$row[0]\">".htmlspecialchars($row[2])."</A>";
|
$id = intval($_GET['id_menu']);
|
эти две строки не стыкуются никак! | |
|
|
|
|
|
|
|
для: GeorgeIV
(25.07.2008 в 11:12)
| | Огромное вам спасибо. Я поняла. Все работает.
$list.= "<li><A HREF=\"?id_menu=$row[0]\">".htmlspecialchars($row[2])."</A>";
|
| |
|
|
|