【发布时间】:2019-07-08 16:48:43
【问题描述】:
我有一个 html php 文件。在这个文件中,我有一个包含两个选择框员工部门和员工分支的表单。如果我单击员工部门选择框,它应该使用 onchange 事件执行 sql 查询并显示所选部门。 php 代码和 html 代码在同一个文件中。我试过这段代码
文件名:Search.php
<?php
include("config.php");
$dept= (isset($_POST['dept'])) ? $_POST['dept'] : '';
$branch= (isset($_POST['branch'])) ? $_POST['branch'] : '';
?>
<html>
<body>
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" name="quick_search" id="quick_search" method = "POST" enctype="multipart/form-data">
<select size="1" name="dept" id="dept" onchange="this.form.submit();" <?php $sql = "SELECT * FROM users WHERE dept = '$dept'"; $qry = mysql_query($sql); ?>>
<option value="select">select</option>
<option value="purchase">purchase</option>
<option value="Sales">sales</option>
<option value="production">production</option>
<option value="accounts">accounts</option>
</select>
<select size="1" name="branch" id="branch" onchange="this.form.submit();" <?php $sql = "SELECT * FROM users WHERE branch = '$branch'"; $qry = mysql_query($sql); ?>>
<option value="select">select</option>
<option value="salem">salem</option>
<option value="chennai">chennai</option>
<option value="kovai">kovai</option>
<option value="namakkal">namakkal</option>
</select>
<?php
while($userdetails = mysql_fetch_array($qry))
{
$userfirstname = $userdetails['firstname'];
$userbranch = $userdetails['branch'];
$userdepartment = $userdetails['department'];
$usersalary = $userdetails['salary'];
}
?>
</form>
</body>
</html>
【问题讨论】:
-
Onchange of department 你要重新选择部门吗?
-
警告:
mysql_***函数是deprecated,几年未维护,可能存在未修补的安全问题。他们也没有适当的方法来保护您免受SQL injection 攻击。这些函数在 PHP7 及更高版本中被完全删除。您不应该使用这些函数编写任何新代码。您应该立即改用mysqli_ 或PDO 函数。 -
附注要回答您的问题,您需要提交表单或发出 AJAX 请求,以便将输入数据返回到服务器。你选择哪一个取决于你希望你的应用程序如何工作:一个表单会刷新你的整个页面,而 AJAX 可以让你在不刷新的情况下从服务器发送和接收数据。
标签: javascript php html sql