Отображение значений опций из конкатенации в PHP Echo - PullRequest
0 голосов
/ 08 марта 2012

ударил стену о том, что должно быть не проблема. Имейте PHP-эхо с двумя конкатенациями в них, чтобы заполнить значения параметров для выпадающего меню в форме с данными для значений параметров, извлекаемых из запроса базы данных MySQL. Прекрасно работает, за исключением того, что по какой-то причине в значении параметра будет отображаться ТОЛЬКО первое слово, а когда он встречает пробел в значении, он удаляет его из поля значения параметра и заполняет второе, третье слова перед значением параметра.

Вот код:

    <td width="160"><p>  Job Location:</p><select class="listmedium" id="JobLocation" name="JobLocation"><option value='' selected="selected"></option>

   <?php
    $con = mysql_connect("Values Deleted");
    if (!$con)
     {die('Could not connect: ' . mysql_error());}

       mysql_select_db ("database1", $con); 

    $result = mysql_query("SELECT CustomerLoc FROM customerloc ORDER BY CustomerLoc ASC");

    while($row = mysql_fetch_array($result))

      {echo "<option value=" . $row['CustomerLoc'] . ">" . $row['CustomerLoc'] ."</option>";}  

    mysql_close($con); ?> 

  </select>

Который выводит как:

    <td width="160">
    <p> Job Location:</p>
    <select id="JobLocation" class="listmedium" name="JobLocation">
    <option selected="selected" value=""></option>
   <option springs="" value="Carrizo">Carrizo Springs</option>
    <option wells="" value="Artesia">Artesia Wells</option>
    </select>

Обратите внимание на то, что «пружины» и «лунки» располагаются ДО того, как кавычки значения параметра будут указываться в том месте, где для конкатенации предполагается поместить все значение, что должно означать «Carrizo Springs» и «Artesia Wells» для значений параметра.

Теперь, если я вставлю & nbsp вручную между значениями, все значение отобразится как "Carrizo & nbspSprings" и будет работать (но я не хочу вставлять & nbsp в каждый, если мне не нужно), а также если я вручную кодируйте значения HTML, чтобы прочитать «Carrizo Springs», затем он прекрасно работает как значение параметра, таким образом, похоже, что-то происходит с вызовом данных PHP.

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

1 Ответ

0 голосов
/ 08 марта 2012

Проблема в этой строке: "<option value=" . $row['CustomerLoc'] . ">" становится <option value=Carrizo Springs >, поэтому это похоже на значение = Carrizo, чтобы решить эту проблему, просто измените ее на: "<option value=\"" . $row['CustomerLoc'] . "\">"

...