我有一个带有以下选择列表的PHP表单;
<select id ="MatchCaptain" name="MatchCaptain" onchange="findTeleNo(this.value)"
<?php
$MC = $_SESSION["MatchCapt"];
player_load($MC);
?>
>
</select>
我还有一个文本字段;
Telephone Number: </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()。然后应该使用新比赛队长的电话号码重新加载表格。 但是,当我选择一个新的匹配队长时,忽略onchange命令。 作为一名七十多岁的人,只要学习这门语言,我需要一些帮助! onchange是否适用于PHP?如果不是我应该使用什么?
答案 0 :(得分:1)
onchange事件是一个javascript事件,它不能直接调用你的php函数。您可以创建一个javascript函数,当选择值更改时将调用该函数,然后这可以对php文件发出xhr(Ajax)请求,该文件将执行数据库查询并返回您需要的内容。然后,您可以使用javascript更新页面。
答案 1 :(得分:0)
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);
}
});
}
&#13;
<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>
&#13;
并在文件findTeleNo.php中打印json有cname和teleno。