php - 将信息更新到 MySQL 数据库中,但每个员工的部门保持不变

标签 php mysql

我正在尝试为员工表更新我的数据库。当我运行和测试时,每个用户都在会计部门工作,即使他们在另一个部门工作。有什么我想念的吗?我也没有收到任何错误。非常感谢任何帮助。

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/

相关文章:

php - 通过外键搜索

php - MySQL表不更新

php - 如何使用 PHP 分解孟加拉语文本以将所有内容保存到数据库?

php - 从字符串中选择Max及其唯一性

c# - 从本地xampp mysql-database获取数据

php - 返回用户没有的 ID

php - 在 PHP 中使用变量 NAME 作为值

php - 将时间戳值从一列复制到另一列失败

mysql - 如何使用 php 显示 count() sql 函数

javascript - 如何将数据从 chrome 扩展程序发送到本地主机?