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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Неполностью выводится значение поля, (только первое слово) 
:(
    Опции темы
sugee
Дата 8.1.2006, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Имеется вот такая вот конструкция
Код

echo "<img width=100% alt=".$r['name']." src='".$image_url[$k]."'>";


Из базы данных извлекаются адреса картинок, в alt подставляется название.
$r['name'] это результат работы цикла
Код

  while($r = $query->fetch_assoc())

Проблема в том, что если $r['name'] состоит из двух слов то
выводится только первое.
Почему поле name не выводится целиком?

Для большей ясности кусочек побольше
Код

 while($r = $query->fetch_assoc()) {

   echo "<tr class=ShowType><td colspan=2><font class=TypeName>".$r['name']."</font></td></tr>
         <tr><td width=60%><p align=justify>".$r['opis']."</p></td>";
   $image_url=explode('|', $r['image_url']);
   echo "<td align=center valign=top><br>";
   for($k=0; $k<count($image_url); $k++) {
      echo "<img width=100% alt=".$r['name']." src='".$image_url[$k]."'><br><br>";
   }

}


Урлы извлекаются таким странным способом потомучто в image_url может хранится несколько адресов через разделитель "|".
Так вот, в строчке
Код

 <tr class=ShowType><td colspan=2><font class=TypeName>".$r['name']."</font></td></tr>

name выводится целиком, а внутри цикла for только первое слово.

PM MAIL   Вверх
Illuminaty
Дата 8.1.2006, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


/*Антон Захаров*/
***


Профиль
Группа: Комодератор
Сообщений: 1238
Регистрация: 19.3.2005
Где: Россия, Казань

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



а что выводит
Код
var_dump($r);

PM MAIL ICQ   Вверх
Alx
Дата 8.1.2006, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

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



Illuminaty
у тебя же одинарные скобки в src стоят, вот такие же и в alt поставь:

Код

echo "<img width=100% alt='".$r['name']."' src='".$image_url[$k]."'><br><br>";



Модеры, тема к PHP и тем более к MySQL отношения не имеет ;)


--------------------
PM MAIL WWW ICQ   Вверх
sugee
Дата 8.1.2006, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Да, дело было в кавычках...
Цитата(Alx @ 8.1.2006, 18:06 Найти цитируемый пост)

тема к PHP и тем более к MySQL отношения не имеет ;)
Полностью согласен.

PM MAIL   Вверх
sugee
Дата 8.1.2006, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Проблема решена, но остался вопрос: разве одинарные кавычки включенные друг в друга это не ошибка?
PM MAIL   Вверх
Mal Hack
Дата 8.1.2006, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

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



Код
echo "<img width=100% alt=".$r['name']." src='".$image_url[$k]."'><br><br>";

Вот глянь подцветку. " - обрубают PHP строку, и к HTML отношения не имеют.
Вот теперь смотрим html код, который получается при выполнении, считаем что в $r['name'] текст с порбелами..
Код
<img width=100% alt=текст с пробелами src='/file.jpg'><br><br>

Опять же глянь подцветку.


PM ICQ   Вверх
Black
Дата 8.1.2006, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


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

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



Цитата(sugee @ 8.1.2006, 19:12 Найти цитируемый пост)

разве одинарные кавычки включенные друг в друга это не ошибка?


да, это ошибка. Поэтому все одинарные кавычки из строки, которая должна быть выведена в alt необходимо заменить на их HTML-аналоги.

Это

& #39; (без пробела после &)

Теперь в alt='' не сможет встретиться повторяющаяся одинарная кавычка.


--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
Guest
Дата 8.1.2006, 21:43 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Mal Hack
то что двойные кавычки здесь к HTML отношения не имеют я понимаю
Вот этот фрагмент
Код

alt=' ".$r['name']." '

мне показался странным, потому что вроде бы получились одинарные
кавычки включенные друг в друга.
  Вверх
sugee
Дата 8.1.2006, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Это только что был я smile
Black
В строке которая должна быть выведена в alt никаких одинарных
кавычек нет.
Они есть в имени переменной $r['name'], которая заключена в однарные кавычки.
PM MAIL   Вверх
Black
Дата 8.1.2006, 23:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


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

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



sugee
а... немного не врубился, но в данном случае одинарные кавычки не вызывают ошибки

alt='".$r['name']."'

так как первые одинарные кавычки принадлежат строке, а другие кавычки переменной.


--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
Mal Hack
Дата 9.1.2006, 01:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

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



Какими ковычками ты открываешь PHP строку, такими и должен закрывать.
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Вёрстка веб-сайтов | Следующая тема »


 




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


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

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