0

私は初心者のPHPプログラマーです。MySQL データベースからダブル ドロップダウン リストを作成する次のコードをまとめることができました。最初のボックスでクレーム ハブを選択し、2 番目のボックスで最初のボックスのハブにレポートする弁護士を選択する必要があります。

私の問題は、最初のドロップダウン ボックスの選択が保持されないため、すべての弁護士が 2 番目のボックスで利用できることです。誰が私が間違っているのか教えてもらえますか?

これが私のコードです:

<?php
  require_once('appvars.php');
  require_once('connectvars.php');
  require_once('header.php');

?>
<head>
<script language=JavaScript>
function reload(form) {
  var selected_value=form.hub.options[form.hub.options.selectedIndex].value;
  self.location='registera.php?hub=' + selected_value ;   
}
</script>
<head>
<?php
  @$hub=$HTTP_GET_VARS['hub'];
  if(strlen($hub) > 0 and !is_numeric($hub)){ 
    echo "INVALID DATA.";
    exit;
  }
  //This fetches content from CLAIMS HUBA table first to get the ATTORNEY list
  $hub_query=mysql_query("SELECT DISTINCT hub_name, hub_id FROM claims_huba order by hub_name");
  if(isset($hub) and strlen($hub) > 0) {
    echo "Loaded: Claims Hubs.";
    // If the numeric value of "hub" (selected attorney) is greater than zero we are OK
    // Then we will perform an SQL query to find all attorneys with that number.
    $attorney_query=mysql_query("SELECT DISTINCT firm_name FROM claims_hub where hub_id=$hub order by firm_name");
    echo "Loaded: Attorney Firms by Hub ID.";
  }else {
    $attorney_query=mysql_query("SELECT DISTINCT firm_name FROM claims_hub order by firm_name");
    echo "Loaded: Attorneys.";
  }
  echo "<form method=post name=f1 action='register_ui.php'>";
  echo "<select name='hub' onchange=\"reload(this.form)\"><option value=''>Please select the Claims Hub you are reporting to:</option>"."<BR>";
  while($qresult_hub = mysql_fetch_array($hub_query)) {
    if($qresult_hub['hub_id']==@$hub){echo "<option selected value='$qresult_hub[hub_id]'>$qresult_hub[hub_name]</option>"."<BR>";}
    else{echo  "<option value='$qresult_hub[hub_id]'>$qresult_hub[hub_name]</option>";}
  }
  echo "</select>";
  echo "<select name='attorney'><option value=''>Please select your firm: </option>";
  while($qresult_attorney = mysql_fetch_array($attorney_query)) {
    echo "Loaded: Attorneys queried.";
    echo  "<option value='$qresult_attorney[firm_name]'>$qresult_attorney[firm_name]</option>";
  }
  echo "</select>";
  echo "<input type=submit value=Submit>";
  echo "</form>";
?>
4

3 に答える 3

0

ajax メソッドを使用していない場合は、最初のドロップダウン値を目的のページに渡す必要があります。その後、その値を確認し、JavaScript でドロップダウンを選択できます。しかし、これを行うためのより良い方法は、ajax 機能を使用することだと思います。2 番目のドロップダウン値を更新するだけです。この情報がお役に立てば幸いです!#php

于 2013-05-23T09:01:48.940 に答える
0

$_GET['hub']代わりに使ってみてください$HTTP_GET_VARS['hub']

于 2013-05-23T10:05:56.373 に答える
0

クライアントで試すことができます。2 番目の選択で、適切な親の hub_id を値としてオプションに rel 属性を追加します。最初の選択が変更されたら、選択したハブに属さない 2 番目の選択のすべてのオプションを非表示にします。

于 2013-05-23T11:40:30.293 に答える