php +填充下拉菜单中的另一个选择 [英] php + populate drop down menu on the selection of another

查看:87
本文介绍了php +填充下拉菜单中的另一个选择的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在创建三个下拉菜单,它的工作非常好,但我希望第二个下拉列表显示在第一个选择,第三个选择第二个如何这样做,如果有人可以指导我或给我一个例子,我会欣赏

i am creating three drop down menu and it work very good but i want that the second drop list appear on the selection of the first one and the third on the selection of the second one how to do that if any one can guide me or give me an example i will appreciate that

PS:第二个下拉列表或表有一个外键从第一个所以这里我想根据第一个选择来填补第二个。

PS: the second drop list or table have a foreign key from the first one so here i want to work to populate the second based on the selection of the first.

<?php
 require_once('db.inc.php'); 

function connect(){
   mysql_connect(DB_Host, DB_User ,DB_Pass )or die("could not connect to the database" .mysql_error());

   mysql_select_db(DB_Name)or die("could not select database");

}
  function close(){

  mysql_close();

  }

  function countryQuery(){

  $countryData = mysql_query("SELECT * FROM country");

  while($record = mysql_fetch_array($countryData)){

     echo'<option value="' . $record['country_name'] .  '">' . $record['country_name'] . '</option>';

  }

}

function specializationQuery(){

$specData = mysql_query("SELECT * FROM specialization");

  while($recordJob = mysql_fetch_array($specData)){

     echo'<option value="' . $recordJob['specialization_name'] .  '">' . $recordJob['specialization_name'] . '</option>';

  }


}

function governorateQuery(){

$goverData = mysql_query("SELECT * FROM governorate");

  while($recordGover = mysql_fetch_array($goverData)){

     echo'<option value="' . $recordGover['governorate_name'] .  '">' . $recordGover['governorate_name'] . '</option>';

  }


}

?>



index.php



index.php

<?php
  require_once('func.inc.php'); 
  connect(); 


?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>testDroplistdown</title>
</head>

<body>
<p align="center">
<select name="dropdown">
  <?php countryQuery(); ?>
</select>
</p>
<br />
<br />

<p align="center">
<select name="dropdown2">
  <?php governorateQuery(); ?>
</select>
</p>

<p align="left">
<select name="dropdown3">
  <?php specializationQuery(); ?>
</select>
  <?php close(); ?>
</p>


</body>
</html>


推荐答案

确保你不会离开你的php结束标签和你的html标题的乞讨,它可以解决一些讨厌的错误

make sure u never leave a after your php closing tag and the begging of your html header, it can trow some nasty errors

这个脚本应该工作

   <?php
   require_once('func.inc.php');
   connect();
    ?>
   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>testDroplistdown</title>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  </head>

  <body>
  <p align="center">
  <div id="dropdown1div"><select id="dropdown1" name="dropdown">
  <?php countryQuery(); ?>
  </select></div>
  </p>
  <br />
  <br />

  <p align="center">
  <div id="dropdown2div"></div>
  </p>

  <p align="left">
  <div id="dropdown3div"></div>

    <script type="text/javascript">
    $("#dropdown").change(function() {
    val = $(this).val();
    var html = $.ajax({
    url: "dropdown_select.php?dropdown=2&val="+val+"",
    async: true,
    success: function(data) {
    $('#dropdown2div').html(data);
    }////////////function html////////
    })/////////function ajax//////////
     });
    </script>

   <?php close(); ?>
   </p>


   </body>
   </html>

dropdown_select.php

dropdown_select.php

    <?php
   require_once('func.inc.php');
   connect();
    if(isset($_GET['val'])){   
    $val = $_GET['val'];
    $dropdown = $_GET['dropdown'];
    }


    if($dropdown == '2'){
    echo '<select id="dropdown2" name="dropdown2">';
    governorateQuery();
    echo '</select>';
    ?>
     <script type="text/javascript">
     $("#dropdown2").change(function() {
     val = $(this).val();
     var html = $.ajax({
     url: "dropdown_select.php?dropdown=3&val="+val+"",
     async: true,
     success: function(data) {
     $('#dropdown3div').html(data);
     }////////////function html////////
     })/////////function ajax//////////
     });
    </script>

      } // end if statement



    if($dropdown == '3'){
     echo '<select id="dropdown3" name="dropdown3">';
     specializationQuery();       
     echo '</select>';

      } // end if statement
      close();
      ?>

这篇关于php +填充下拉菜单中的另一个选择的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆