2013-07-24 6 views
-1

Я хочу прочитать значение, выбранное пользователем в форме, заполненной через базу данных. Я устал, но нашел только статические населенные темы. Также как я могу установить выбор по умолчанию, когда список динамически заполнен?Доступ к значениям из блока опций HTML с использованием PHP

<form enctype='multipart/form-data' action='' method='POST'> 
//Other options to enter 

<select name="crit"> 
$sql= "select Criteria from criterias"; 
$result= mysql_query($sql); 
while ($row = mysql_fetch_array($result)){ 
echo "<option value=\"owner1\">" . $row['Criteria'] . "</option>"; 
} 
?> 
</select> 
<input type="submit" name="Sub" value="Submit"> 
</form> 


$POST['crit']; //dosen't work 

И что такое использование идентификаторов owner1? Я взял этот кусок из сети, и он заселялся, как я хотел.

+0

Это не $ POST это $ _POST :) – Ignas

ответ

0

Проверьте, если его первая строка и установить выбранный атрибут

<form enctype='multipart/form-data' action='' method='POST'> 
//Other options to enter 

<select name="crit"> 
$sql= "select Criteria from criterias"; 
$result= mysql_query($sql); 
$count = 0; 

while ($row = mysql_fetch_array($result)){ 
echo "<option " . ($count++ == 0 ? "selected=\"selected\"" : "") . " value=\"owner1\">" . $row['Criteria'] . "</option>"; 
} 

// Access with 
$_POST["crit"] 
+0

Хорошо, что помогает мне установить значение по умолчанию. Теперь, как я могу узнать выбранное значение, чтобы сохранить его в db? – AKP

+0

@akp $ _POST ["crit"], переменные сервера начинаются с $ _, таких как $ _SERVER и $ _GET. – John

0

не уверен, что вы пытаетесь сделать, так как значение в вашей опции все будет владелец1. но вы можете добавить условие в цикл while, чтобы выбрать параметр по умолчанию.

//set any id in your url, this way we can match anything in your db with $GET['id'] 
if ($row['Criteria'] == $_GET['id']) 
{ 
    echo "<option value=\"owner1\" selected>" . $row['Criteria'] . "</option>"; 
} 
else 
{ 
    echo "<option value=\"owner1\">" . $row['Criteria'] . "</option>"; 
} 

, но если вы хотите, чтобы выбрать 1-й вариант, сделайте это.

$i = 0; 
$selected= ''; 
while ($row = mysql_fetch_array($result)) 
{ 
    if ($i == 0) $selected = 'selected'; 
    echo "<option value=\"owner1\" ".$selected.">" . $row['Criteria'] . "</option>"; 
    else 
    $i++; 
} 
+0

Спасибо! Это было ошибкой из-за невежества. Я пытался сделать то, что показал Акам. Спасибо – AKP

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