2013-02-24 3 views
-2

У меня есть этот код, который запрашивает базу данных и заполняет выпадающий список . Сначала: я хочу, чтобы этот код устанавливал значение элемента в идентификатор извлекается второй: я хочу, чтобы заполнить еще один выпадающий список на предыдущем выбранном элементеКак получить выбранное значение элемента и сделать что-то после того, как элемент был выбран в php

код выглядит как этот

<?php 
$query="SELECT * FROM city ORDER BY ID"; 
$result = mysql_query($query, $con); 
$options = array(); 
    while ($query_data = mysql_fetch_array($result)) { 
    $options[$query_data["ID"]] = $query_data["Cname"]; 
    } 
    ?> 
     <select name="dropdown_city" > 
<?php foreach ($options as $key => $value) : ?> 
<?php $selected = ($key == $_POST['dropdown_city']) ? 'selected="selected"' : ''; ?> 
<option value="<?php echo $key ?>" <?php echo $selected ?>> 
<?php echo $value ?> </option> 
<?php endforeach; ?> 
</select> 
    </li> 
+0

и каков ваш вопрос? – michi

+1

, пожалуйста, не используйте 'mysql_query' больше. Его устарело. Пожалуйста, проверьте [эту страницу] (http://php.net/manual/en/function.mysql-query.php) для получения дополнительной информации и альтернатив. –

+0

Вы не можете сделать это в php + html, вам нужно сделать это в javascript. – jcubic

ответ

0

вы можете сделать AJAX вызов PHP файл, который заселить еще один запрос и построить ваш другой выбор in jquery

</script> 
$(function() { 
    $('#dropdown_city').change(function() { 
     $.getJSON('get_values.php', {city: $(this).val()}, function(data) { 
      var dropdown = $('#dropdown_other').empty(); 
      $.each(data, function(i, item) { 
       $('<option value="' + item[0] + '">' + item[1] + 
       '</option>').appendTo(dropdown); 
      }); 
     }); 
    }); 
}); 

</script> 
... 
<select name="dropdown_city" id="dropdown_city"> 

</select> 
<select id="dropdown_other"> 
</select> 

и get_values.php вы просто вернуть другой выбрать из базы данных:

$city = mysql_real_escape_string($_GET['city']); 
$result = mysql_query("SELECT id, name FROM other_table WHERE city = $city", $con); 
$options = array(); 
echo json_encode(mysql_fetch_array($result)); 
+0

Что такое данные в функции (данные)? Также, что элемент в функции (i, item)? – adictee

+0

Что такое данные в функции (данные)? Также что элемент в функции (i, item)? – adictee

+0

@adictee вывод из запроса 'echo json_encode (mysql_fetch_array ($ result));' in php file '[[id, name], [id, name], ...]' и item is '[id, name ] ' – jcubic

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