PHP - поле базы данных, отображаемое в пользовательском атрибуте, разделяется - PullRequest
1 голос
/ 06 марта 2012

В моей базе данных есть таблица пользователей.В этой таблице у меня есть поле с именем usr_loc_id.Содержимое этого поля представляет собой название города с его почтовым индексом.Примером может быть: Paris (75018)

В сценарии php я в какой-то момент выводил значение этого поля в пользовательский атрибут тега tr:

echo '<tr attrLoc='.$row['usr_loc_id'].' class='someClass'>...

Моя проблемаследующее.Когда я проверяю свой отладчик, я вижу, что учитывается только название города.Код города с круглыми скобками пропущен.Вот ниже, как это выглядит в отладчике.

<tr attrLoc="Paris" (75018) class="someClass">...

Надеюсь, кто-то может помочь понять и решить это.Заранее благодарю за ваши ответы.Приветствия.Марк.

Ответы [ 2 ]

2 голосов
/ 06 марта 2012

Вам не хватает кавычек в сгенерированном html. Дословный текст вашего вывода:

<tr attrLoc=Paris (75018) class=someClass>...

Обратите внимание, что отсутствие кавычек. Это означает, что парсер браузера видит атрибуты 3 в этом теге:

  1. attrLoc = Париж
  2. неверный атрибут (75018)
  3. classs = someClass

При правильном цитировании в вашем PHP вы можете исправить это:

echo <<<EOL
<tr attrLoc="{$row['usr_loc_id']}" class="someClass"> ...
EOL;

или

echo '<tr attrLoc="' . $row['usr_loc_id'] . '" class="someClass"> ...';
                  ^--missing                 ^--missing
0 голосов
/ 06 марта 2012

Если вы используете цитируемый код, вам нужно добавить несколько цитат. Поскольку название города является единственным содержимым, содержащимся в кавычках, это все, что будет отображаться. Я покажу вам другой метод с использованием двойных кавычек и фигурной скобки:

echo "<tr attrLoc='{$row['user_loc_id']}' class='someClass'>";

Решает ли это это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...