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

时间:2018-08-13 03:45:21

标签: php mysql

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

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>

1 个答案:

答案 0 :(得分:2)

很难看到运行中的代码,但是乍一看就有一个问题:在每个option标签中,在结束的PHP标签(?>)和value属性,因此,如果$row['department']与对应值匹配,则PHP语句将显示“已选择”但没有空格,HTML看起来像这样(例如$row['department']等于2) :

<option selectedvalue='2'>Legal</option>

显然不会选择该选项。尝试在每个关闭的PHP标记后添加一个空格,或打印“ seleted”,最后加一个空格。