php - 使用从 php 数据库中填充的选择来调用相关数据

标签 php mysql mysqli

我设法通过调用数据库上的数据来填充选择 我将如何调用与使用数据库的选择值相关的其他数据。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="description" content="">
<meta name="author" content="">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title></title>
</head>
<body>
<?php

$conn = new mysqli('localhost', 'root', 'a', 'emp_table') 
or die ('Cannot connect to db');

$result = $conn->query("select * from emp");
echo "<select name='id'>";
while ($row = $result->fetch_assoc()) {
              unset($id, $name);
              $id = $row['id'];
              $name = $row['name']; 
              echo '<option value="'.$id.'">'.$name.'</option>';                

}
echo "</select>";
?>
</body>
</html>

最佳答案

试试这个
根据 @Nikhil 建议的链接 https://www.w3schools.com/xml/ajax_intro.asp

您可以使用 AJAX 来实现此目的。现在是时候学习 AJAX 了。

用于连接 如果您在本地主机上工作,则不需要密码。它应该是空白的。

我刚刚将 onchange 函数添加到 select 标记中。因此,无论用户从下拉列表中选择什么,它都会调用函数 getRole 并将 Id 传递到流程页面。流程页面将返回与ID相关的值并显示在span标签中。

<?php
    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "emp_table";
    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }
    ?>
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="description" content="">
    <meta name="author" content="">
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title></title>
    </head>
    <body>

    <select name="emp_name" id="emp_name"  onchange="getRole(this.value);" >
    <option selected disabled>Select</option>
      <?php 
        $result = $conn->query("select * from emp"); 
        if ($result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
                  $id = $row['id'];
                  $name = $row['name']; 
            ?>

        <option value="<?php echo $id;?>"><?php echo $name;?></option>
        <?php }}?>
    </select>

    <span id="emp_details"></span><!--it will display the emp record from process page-->

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

    <script type="text/javascript">
        function getRole(val){
       var id=$('#emp_name').val();
        $.ajax({
            url:'process.php',
           type:'POST',
           data:'id='+id,
           success:function(data)
           {
            //alert(data);
              $("#emp_details").html(data);
           },

           });
    }
    </script>
    </body>
    </html>

Process.php

<?php
if (isset($_POST['id'])) {
   echo $country_id=$conn->real_escape_string(trim($_POST['id']));// here you will get the id of the employee
   /*your more code here*/
}
 ?>

关于php - 使用从 php 数据库中填充的选择来调用相关数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47710278/

相关文章:

php - 我可以在 PHP 中混合使用 MySQL API 吗?

php - 将错误写入日志文件 - PHP mySql

php - 如果没有错误如何提交表单?

php - MySql 查询使用两个带内连接的表(我认为)

java - 使用半径搜索附近的物体。谷歌地图

php - 插入记录到另一个表

php - PHP不会为多个查询引发错误

php - 如何使用blowfish进行加密在python和php之间发送加密消息?

php - while 循环在 php 中不起作用 脚本在 Crontab 中运行

PHP Mysqli - INSERT 在实际查询中导致尾随逗号