在php中选择下拉菜单时在多个文本框中获取数据库值

在php中选择下拉菜单时在多个文本框中获取数据库值,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我有两个页面add_admin.php和ajax_admin.php当我在下拉列表中选择name时,它会在文本框中显示FIRSTNAME、MIDDLENAME和LASTNAME 这是我的密码: add_admin.php <!-- Department --> <div class="col-xs-12 col-sm-12 col-md-12" > <div class="form-group"> <select id="faculty_name

我有两个页面add_admin.phpajax_admin.php当我在下拉列表中选择name时,它会在文本框中显示FIRSTNAME、MIDDLENAME和LASTNAME

这是我的密码:

add_admin.php

<!-- Department -->
<div class="col-xs-12 col-sm-12 col-md-12" >
<div class="form-group">
    <select id="faculty_name" name="faculty_name" class="form-control" onchange='fetch_select(this.value)' required>
        <option selected="selected" disabled="disabled">Please Select Faculty</option>
        <?php
            $query = mysql_query("select * from faculty_details");
            while($row = mysql_fetch_array($query))
            {
        ?>
        <option value="<?php echo $row['FACULTY_ID'];?>"><?php echo $row['FIRSTNAME']." ".$row['MIDDLENAME']." ".$row['LASTNAME'];?></option>
        <?php
            }
        ?>
    </select>
</div>
</div>

<!-- First Name -->
<div class="col-xs-12 col-sm-4 col-md-4">
<div class="form-group">
    <div class="input-group">
    <div class="input-group-addon"><i class="fa fa-fw fa-user"></i></div>
        <input type="text" id="fname" name="fname" class="form-control input-md" placeholder="First Name" value="">
    </div>
</div>
</div>
<?php
    if(isset($_POST['get_option']))
    {
        $state = $_POST['get_option'];
        $find=mysql_query("select * from faculty_details where    FACULTY_ID=$state");
        while($row=mysql_fetch_array($find))
        {
        echo "$row[FIRSTNAME]";
        }
    }
?>
if(isset($_POST['get_option']))
{
   $state = $_POST['get_option'];
   $row1=array();
   $find=mysql_query("select firstname,middlename,lastname from faculty_details where  FACULTY_ID=$state");

   while($row=mysql_fetch_array($find))
  {
    $row1[]=$row;
  }
  die(json_encode($row1));
}
ajax\u admin.php

<!-- Department -->
<div class="col-xs-12 col-sm-12 col-md-12" >
<div class="form-group">
    <select id="faculty_name" name="faculty_name" class="form-control" onchange='fetch_select(this.value)' required>
        <option selected="selected" disabled="disabled">Please Select Faculty</option>
        <?php
            $query = mysql_query("select * from faculty_details");
            while($row = mysql_fetch_array($query))
            {
        ?>
        <option value="<?php echo $row['FACULTY_ID'];?>"><?php echo $row['FIRSTNAME']." ".$row['MIDDLENAME']." ".$row['LASTNAME'];?></option>
        <?php
            }
        ?>
    </select>
</div>
</div>

<!-- First Name -->
<div class="col-xs-12 col-sm-4 col-md-4">
<div class="form-group">
    <div class="input-group">
    <div class="input-group-addon"><i class="fa fa-fw fa-user"></i></div>
        <input type="text" id="fname" name="fname" class="form-control input-md" placeholder="First Name" value="">
    </div>
</div>
</div>
<?php
    if(isset($_POST['get_option']))
    {
        $state = $_POST['get_option'];
        $find=mysql_query("select * from faculty_details where    FACULTY_ID=$state");
        while($row=mysql_fetch_array($find))
        {
        echo "$row[FIRSTNAME]";
        }
    }
?>
if(isset($_POST['get_option']))
{
   $state = $_POST['get_option'];
   $row1=array();
   $find=mysql_query("select firstname,middlename,lastname from faculty_details where  FACULTY_ID=$state");

   while($row=mysql_fetch_array($find))
  {
    $row1[]=$row;
  }
  die(json_encode($row1));
}

从服务器获取json格式的结果,以便在jQuery中轻松使用:
ajax admin.php

<!-- Department -->
<div class="col-xs-12 col-sm-12 col-md-12" >
<div class="form-group">
    <select id="faculty_name" name="faculty_name" class="form-control" onchange='fetch_select(this.value)' required>
        <option selected="selected" disabled="disabled">Please Select Faculty</option>
        <?php
            $query = mysql_query("select * from faculty_details");
            while($row = mysql_fetch_array($query))
            {
        ?>
        <option value="<?php echo $row['FACULTY_ID'];?>"><?php echo $row['FIRSTNAME']." ".$row['MIDDLENAME']." ".$row['LASTNAME'];?></option>
        <?php
            }
        ?>
    </select>
</div>
</div>

<!-- First Name -->
<div class="col-xs-12 col-sm-4 col-md-4">
<div class="form-group">
    <div class="input-group">
    <div class="input-group-addon"><i class="fa fa-fw fa-user"></i></div>
        <input type="text" id="fname" name="fname" class="form-control input-md" placeholder="First Name" value="">
    </div>
</div>
</div>
<?php
    if(isset($_POST['get_option']))
    {
        $state = $_POST['get_option'];
        $find=mysql_query("select * from faculty_details where    FACULTY_ID=$state");
        while($row=mysql_fetch_array($find))
        {
        echo "$row[FIRSTNAME]";
        }
    }
?>
if(isset($_POST['get_option']))
{
   $state = $_POST['get_option'];
   $row1=array();
   $find=mysql_query("select firstname,middlename,lastname from faculty_details where  FACULTY_ID=$state");

   while($row=mysql_fetch_array($find))
  {
    $row1[]=$row;
  }
  die(json_encode($row1));
}
Ajax代码

function fetch_select(val)
{
    $.ajax
    ({
    type: 'post',
    url: 'ajax_admin.php',
    data: 
    {
        get_option:val
    },
    success: function (response) 
    {
        $('#fname').val(response);
    }
});
function fetch_val(val) {
    $.ajax({
        url:"ajax-admin.php",
        type:"POST",
        data:{"get_option":val},
        dataType:"JSON",
        success:function(data){
            $('#fname').val((data[0].firstname));
            $('#mname').val((data[0].middlename));
            $('#lname').val((data[0].lastname));

        }
    });
}

请有人在这个查询中帮助我如何使用AJAXIt在PHP中获得多个文本框值,不清楚您被困在哪里。假设代码正常工作,您应该在ajax_admin.php echo“$row[FIRSTNAME]”中进行更改;回显“$row['FIRSTNAME']”;以获得显示的结果。然后将其更改为
print_r(htmlspecialchars($row['FIRSTNAME'))这样你就不会被黑客攻击了FirstName正在第一个文本框中获取我想在其他文本框中获取MIDDLENAME tooo所以你想创建一个多值选择框?先生,请解释更多关于此代码的信息,同时在我和未来读者需要的每行添加注释,这给了我们帮助。@KUMAR可以告诉我什么?为什么我们使用
$\u POST[]
这里
$state=$\u POST['get\u option']
$\u GET[]以及为什么在
die(json_encode($row1))之前使用
die
not
echo
?@KUMAR这里我们使用$\u POST,因为请求类型是POST,我们在ajax请求中设置它。我们使用die-insted-echo,因为我们可能会在任何php文件中使用上面的php代码,如果我们使用echo,它将执行下面不必要的行。所以我们通过添加die来停止代码在下面的行中执行