选择下拉列表中的空格,从mysql中提取

时间:2010-11-15 12:43:20

标签: php jquery mysql select whitespace

我正在使用它来填充下拉列表:

$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();

它只看到“乔”不是“乔博客”?任何想法

4 个答案:

答案 0 :(得分: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>';

为您纠正:)

答案 1 :(得分:2)

用引号括起来:

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

另外,请务必htmlspecialchars()以便在名称中删除中的可能引号。如,

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

答案 2 :(得分:2)

在while循环中尝试:

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

基本上为选项

中的值添加引号

答案 3 :(得分:1)

在属性值周围使用引号" ..

你的HTML应该是

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