如何根据 select 选项更新表单上的字段

How to update a field on the form based on a select option

我有一个 PHP 表单,其中包含以下 select 列表;

<select id ="MatchCaptain" name="MatchCaptain" onchange="findTeleNo(this.value)"
                        <?php 
                            $MC = $_SESSION["MatchCapt"];
                            player_load($MC);
                        ?>
                        >
                </select>

我还有一个文本字段;

Telephone Number:&nbsp;</b> <?php echo $_SESSION["TeleNo"]; ?></p>

onchange命令调用的PHP函数为;

    function findTeleNo($MatchCaptain){
  $db_handle = mysqli_connect(DB_SERVER, DB_USER, DB_PASS );
    $database = "matchmanagementDB";
    $db_found = mysqli_select_db($db_handle, $database);
    if ($db_found) {
    $SQL = "SELECT * FROM `playerstb` ORDER BY `Surname` ASC, `FirstName` ASC";
    $result = mysqli_query($db_handle, $SQL); 
    $ufullName = split_name($MatchCaptain);
    while ( $db_field = mysqli_fetch_assoc($result) ) {
        $uName = $db_field['FirstName'];
        $uName = trim($uName);
        $Surname = $db_field['Surname'];
        $Surname = trim($Surname);
        $fullName = $uName." ".$Surname;
        if ($fullName == $ufullName )
        {
            $_SESSION["TeleNo"] = $db_field['TeleNo'];
            include "Match_sort.php";
            break;
        }
        }
}
}

我想做的是,当 SELECT 下拉列表中的 Match Captains 名称发生更改时,我希望 FUNCTION findTeleNo() 变为 运行。然后应该使用新比赛队长的电话号码重新加载表格。 但是,当我 select 一个新的 Match Captain 时,onchange 命令被忽略了。 作为一个七十多岁的人,刚学这门语言,我需要一些帮助! onchange 在 PHP 中有效吗?如果不是,我应该使用什么?

onchange 事件是一个javascript 事件,它不能直接调用您的php 函数。您可以创建一个 javascript 函数,该函数将在选择值更改时调用,然后可以向 php 文件发出 xhr(Ajax) 请求,该文件将执行数据库查询和 return 你需要它做什么。然后您可以使用 javascript.

更新页面

PHP 是一种服务器端语言,为此你需要使用 javascript。

这是示例:

function findTeleNo (value) {
  console.log(value);
  $.ajax({
    url: 'findTeleNo.php',
    data: {
      c_name: value
    },
    success: function (response) {
      $('#cname').text(response.cname);
      $('#teleno').text(response.teleno);
    }
  });

}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <select id ="MatchCaptain" name="MatchCaptain" onchange="findTeleNo(this.value)">
      <option>choose one</option>
      <option value="A1">A1</option>
      <option value="B2">B2</option>
      <option value="C3">C3</option>
  </select>
<div>

<div>
Captain Name is: <span id="cname">empty</span>
<div>
<div>
TeleNo is: <span id="teleno">empty</span>
<div>

在文件 findTeleNo.php 中打印 json 有 cname 和 teleno。