-2

最初にデータベースにクエリを実行し、ドロップダウン リストにデータを入力するこのコードを取得しました。このコードがアイテムの値を 2 番目に取得した ID に設定することを確認したい: 前に選択したアイテムに別のドロップダウン リストを入力したい

コードは次のようになります

<?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>
4

1 に答える 1

0

別のクエリを入力し、jquery で他の選択を構築する php ファイルへの ajax 呼び出しを行うことができます

</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));
于 2013-02-24T19:34:15.047 に答える