2010-11-15 2 views
0

Я использую это для заполнения раскрывающегося списка:пробелы в выберите в раскрывающемся списке, вытащил из MySQL

$result = mysql_query("SELECT user from `users` order by user asc") or die(mysql_error()); 
      echo '<select name="user" class="user">'; 
      while ($row = mysql_fetch_array($result)) { 
       echo "<option value=".$row['user'].">".$row['user']."</option>"; 
      } 
      echo '</select>'; 

Но источник этого:

<select name="user" class="user"><option value=joe bloggs>joe bloggs</option> 

Так что, когда я это сделать:

var user = $('.user').val(); 

Он видит только «joe» не «joe bloggs» ?? Любые идеи

ответ

4
$result = mysql_query("SELECT user from `users` order by user asc") or die(mysql_error()); 
     echo '<select name="user" class="user">'; 
     while ($row = mysql_fetch_assoc($result)) { 
      echo '<option value="'.htmlspecialchars($row['user']).'">'.htmlspecialchars($row['user']).'</option>'; 
     } 
     echo '</select>'; 

Исправленная для вас :)

+0

Из интереса почему я могу принять ответ за определенное количество времени? v разочарование! – benhowdle89

2

Wrap значение в кавычки:

echo "<option value=\"".$row['user']."\">".$row['user']."</option>"; 

Кроме того, убедитесь, что htmlspecialchars(), чтобы избежать возможных кавычек в название. Например,

$user = htmlspecialchars($row['user']); 
printf('<option value="%s">%s</option>', $user, $user); 
1

Используйте кавычки " вокруг значений атрибутов ..

ваш HTML должен выглядеть

<option value="joe bloggs">joe bloggs</option> 
2

внутри попробовать время цикла :

echo "<option value=\"".$row['user']."\">".$row['user']."</option>"; 

в основном добавляя котировку к стоимости внутри опциона

+0

избил меня: p oh, и я голосую за функцию htmlspecialchars(), тоже избавит вас от многих головных болей: D – ZaQ

Смежные вопросы