Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Parse error: syntax error,

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: SELECT по элементу массива.
Быколай
Отправлено: 06 Апреля, 2009 - 21:20:31
Post Id



Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




нужно создать вложенные списки. для вложенного списка выимка полей происходит по элементу массива полученного в предыдущем запросе(том КУДА вложены цикл, список, запрос). путано объясняю, Растерялся надеюсь из кода всё ясно:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. $link_dir = mysql_query("SELECT URL, TITLE FROM $usertable");
  3. echo '<ul>';
  4. while ($DIR = mysql_fetch_array($link_dir))
  5. {
  6.  echo '<li><a href="/'.$DIR['0'].'">'.$DIR['1'].'</a><ul>';
  7. $link_art = mysql_query("SELECT URL, TITLE FROM art WHERE DIR = '$DIR['0']'");
  8.  while ($ART = mysql_fetch_array($link_art))
  9.  {
  10.  echo '<li>'.$ART['0'].$ART['1'].'</li>';
  11.  }
  12. echo '</li></ul>';
  13. }
  14. echo '</ul>';
  15.  

Но этот запрос выдаёт ошибка:
Цитата:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING

Если подставить реальное значение место $DIR['0'] из бд - работает... короче тупик.
Пробовал экранировать и так и эдак, и скобки-кавычки... подскажите пожалуйста где ошибка?

(Отредактировано автором: 06 Апреля, 2009 - 21:24:27)

 
 Top
Stierus Супермодератор
Отправлено: 07 Апреля, 2009 - 09:22:52
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Строго по теме :
Цитата:
DIR = '$DIR['0']'"
тут исправь

А не по теме : руки за такой кодинг отрывать надо ...
 
My status
 Top
Быколай
Отправлено: 07 Апреля, 2009 - 09:43:17
Post Id



Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




Stierus, спасибо что откликнулись.
по теме:
Цитата:
DIR = '$DIR['0']'"

то что здесь надо исправить сомнений и не было. вопрос как? что-то с кавычками? чем синтаксис не правильный? пробовал по всякому, как правильно не знаю, это прошу сказать.

не по теме:
руки у меня одни, и какие не есть, а свои.
и проблема не в руках, а в голове, вернее отсутствии систематического образования и знаний в этой самой голове.
 
 Top
Stierus Супермодератор
Отправлено: 07 Апреля, 2009 - 09:54:49
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




исправить надо на :
CODE (text):
скопировать код в буфер обмена
  1. $link_art = mysql_query("SELECT `URL`, `TITLE` FROM `art` WHERE `DIR` = '{$DIR[0]}';");


А про проблему: если нет знаний - надо поручать тем, у кого они есть.
ps
Это к тому, что весь ваш код можно (читать как нужно) оптимизировать, что бы работал на 1 запросе к базе данных, а не грузил её в цикле, пожирая ресурсы.
 
My status
 Top
Быколай
Отправлено: 07 Апреля, 2009 - 10:02:16
Post Id



Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




Stierus, спасибо за помощь!
вот про то что надо в {} заключать нигде не мелькало почему-то, сколько не читал. первый раз вижу. сам бы ещё неделю ковырялся.

а я занимаюсь этим для себя, не для денег. потому напрягать кого-то не могу и не хочу. оптимизация кода согласен нужна. надеюсь и это в своё время получится. нельзя ж через пару месяцев изучения php+mySQL выдавать код не только на 100% рабочий, да ещё и оптимизированный идеально. всему своё время. солдатами не рождаются Подмигивание
 
 Top
Stierus Супермодератор
Отправлено: 07 Апреля, 2009 - 10:04:05
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Ну тогда остаётся только пожелать удачи, побольше читать мануалы и статьи, всячески расти, все такое Улыбка
 
My status
 Top
mr-lsd
Отправлено: 11 Января, 2010 - 10:35:40
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Янв. 2010  
Откуда: Санкт-Петербург, Россия


Помог: 0 раз(а)




Возможно что тема уже закрыта, но в уроках (http://www.php.su/learnphp/vars/?external) тоже скобки не стоят и при использовании примера вылезает ошибка. Для начинающих это очень неудобно !


-----
Мозг - это наша технология
 
 Top
alexbash
Отправлено: 18 Апреля, 2010 - 21:03:15
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




mr-lsd пишет:
Возможно что тема уже закрыта, но в уроках (http://www.php.su/learnphp/vars/?external) тоже скобки не стоят и при использовании примера вылезает ошибка. Для начинающих это очень неудобно !

Во во. именно про новичков. Начал изучать, набираю код с этого урока вручную в дриме (типа... лучше чтоб запоминалось) - выдает ошибку.
Потом уже тупо копирую код - выдает ошибку.
Очень неудобно. Не понял
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB