Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите сделать запрос
 
 автор: Лена   (25.07.2008 в 09:24)   письмо автору
 
 

При нажатии на пункт меню из базы выбирается текст из таблицы 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();

  Ответить  
 
 автор: mechanic   (25.07.2008 в 09:51)   письмо автору
 
   для: Лена   (25.07.2008 в 09:24)
 

а что, в menu и texts это поле отличается?

  Ответить  
 
 автор: Лена   (25.07.2008 в 09:53)   письмо автору
 
   для: mechanic   (25.07.2008 в 09:51)
 

нет, поле id_menu во всех трех таблицах одинаковое. Оно связывает эти таблицы между собой.

  Ответить  
 
 автор: BinLaden   (25.07.2008 в 09:56)   письмо автору
 
   для: Лена   (25.07.2008 в 09:53)
 

Какая разница из какой именно таблицы выбирать id_menu, тем более, что он заранее известен?

  Ответить  
 
 автор: Лена   (25.07.2008 в 10:08)   письмо автору
 
   для: 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 запрос работает

  Ответить  
 
 автор: BinLaden   (25.07.2008 в 10:14)   письмо автору
 
   для: Лена   (25.07.2008 в 10:08)
 

Значит просто его не передавали в строке запроса.

<?php
function MenuContent(){ 
global 
$link;

if( !isset(
$_GET['id_menu']) ) return false;
$id intval($_GET['id_menu']);

# ...

?>

  Ответить  
 
 автор: Лена   (25.07.2008 в 10:25)   письмо автору
 
   для: BinLaden   (25.07.2008 в 10:14)
 

Строка запроса: http://avart.ua/menu5.php?id=2 (или любая другая цифра - раздел меню)

При нажатии на пункт меню - пусто

  Ответить  
 
 автор: GeorgeIV   (25.07.2008 в 10:29)   письмо автору
 
   для: Лена   (25.07.2008 в 10:25)
 

посылаете id, а проверяете id_menu?

  Ответить  
 
 автор: Лена   (25.07.2008 в 10:34)   письмо автору
 
   для: GeorgeIV   (25.07.2008 в 10:29)
 

Нет, вы не так поняли. id формировалось еще при составлении меню. Посылаю я как раз-то id_menu.
Теперь id должно смениться id_menu, которое посылается $_GET`ом, но этого не происходит, отсюда в строке запроса и остается id.

  Ответить  
 
 автор: GeorgeIV   (25.07.2008 в 10:38)   письмо автору
 
   для: Лена   (25.07.2008 в 10:34)
 

что то я совсем не понимаю, пишете
id_menu, которое посылается $_GET`ом
, а строку запроса приводите с
id=2
???

  Ответить  
 
 автор: Лена   (25.07.2008 в 10:52)   письмо автору
3.2 Кб
 
   для: GeorgeIV   (25.07.2008 в 10:38)
 

Откройте скрипт в редакторе. Там все легко понять. Вам нужны строка 103 и теперь строка 123. Вот как id меняется с id_menu. Но этого, к сожалению, не происходит.
Какое здесь может быть решение?

  Ответить  
 
 автор: GeorgeIV   (25.07.2008 в 11:12)   письмо автору
 
   для: Лена   (25.07.2008 в 10:52)
 

    $list.= "<li><A HREF=\"?id=$row[0]\">".htmlspecialchars($row[2])."</A>";

$id = intval($_GET['id_menu']); 

эти две строки не стыкуются никак!

  Ответить  
 
 автор: Лена   (25.07.2008 в 11:31)   письмо автору
 
   для: GeorgeIV   (25.07.2008 в 11:12)
 

Огромное вам спасибо. Я поняла. Все работает.

$list.= "<li><A HREF=\"?id_menu=$row[0]\">".htmlspecialchars($row[2])."</A>";

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования