2010-08-27 4 views
0

У меня есть выпадающий список, который динамически генерируется с использованием базы данных MySQL, используя следующий код:PHP Получить метод не отправляет полный ввод

$region = mysql_query("select region_name from region", $connection); 

echo "<select name=region>Region</option>"; 

while ($row = $mysql_fetch_array($region)) 
{ 
    echo "<option value =$row[region_name]>$row[region_name]</option>"; 
} 

echo "</select>" 

Это выводит список прекрасно, однако, когда я отправить форму с помощью метод GET - любое имя региона, у которого есть пробел в нем, не будет правильно передаваться в URL-адресе. Вместо «Южная Австралия» это будет только дать мне «Юг»

Я знаю, что URL должен в конечном итоге: http://foo.com/query.php?region=South+Australia

Но вместо этого + Австралия просто не появляется.

Кто-нибудь знает, какой глупый материал я сделал или что мне не хватает ???

ответ

1

использовать одинарные кавычки для значения в опции тега:

Попробуйте это в то время как цикл:

echo "<option value='$row[region_name]'>$row[region_name]</option>"; 
0

Это было бы потому, что вы обязаны цитировать HTML атрибуты:

<option value="South Australia">...</option> 

В противном случае, как браузер должен различать один атрибут и следующий?

<option value=South Australia>...</option> 

Браузер читает, что в качестве одного атрибута под названием «значение» с «Юг» ценности и другой атрибут под названием «Австралия».

Попробуйте validating your HTML, он будет найти другие ошибки, а, как Starx указывает ..

1

Существует ошибка в коде .........

echo "<select name=region>Region</option>"; должен быть

echo "<select name='region'><option>Region</option>"; 

и, давая значение это сделать

echo "<option value='$row[region_name]'>$row[region_name]</option>"; 
Смежные вопросы