我正在尝试为员工表更新我的数据库。当我运行和测试时,每个用户都在会计部门工作,即使他们在另一个部门工作。有什么我想念的吗?我也没有收到任何错误。非常感谢任何帮助。
PHP/HTML
<?php
//ERROR CHECKING CODE
mysqli_report(MYSQLI_REPORT_ALL ^ MYSQLI_REPORT_STRICT);
error_reporting(E_ALL);
ini_set('display_errors', '1');
require_once("dbconnect.php");
$id = (isset($_REQUEST['id']) ? $_REQUEST['id'] : '');
$sql = "SELECT * FROM employees WHERE empid= '" . $id . "';";
$result = mysqli_query($connect, $sql) or die(mysql_error);
$row = mysqli_fetch_array($result, MYSQL_ASSOC) or die (mysql_error());
?>
PHP/HTML
<p>Department</br>
<select name="department">
<option <?php if($row['department']==1) {print('selected');}?>value="1">Accounting</option>
<option <?php if($row['department']==2) {print('selected');} ?>value='2'>Legal</option>
<option <?php if($row['department']==3) {print('selected');} ?>value='3'>Information Technology</option>
<option <?php if($row['department']==4) {print('selected');} ?>value='4'>Human Resources</option>
</select>
最佳答案
如果没有看到运行中的代码,很难说,但乍一看有这个问题:在每个 option
标记中,您没有在结束的 PHP 标记(? >
) 和 value
属性,所以当 $row['department']
匹配相应的值时,PHP 语句将打印“selected”但是没有空格,HTML 将如下所示(比如 $row['department']
等于 2):
<option selectedvalue='2'>Legal</option>
这显然不会选择该选项。尝试在每个关闭的 PHP 标记后添加一个空格,或打印“seleted”,并在末尾添加一个空格。
关于php - 将信息更新到 MySQL 数据库中,但每个员工的部门保持不变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51814941/