A file named edit_one_emp.php displays the input fields of the existing record using an HTML form. When the user clicks on Submit, the form is submitted to the edit_emp.php script, which will take that information and update the corresponding database record.
edit_one_emp.php is an HTML form filled in by the data from the employee. The id of the employee is built into the link in showEditableEmps.php and passed as a query string to edit_one_emp.php. However, when edit_emp.php gets sent the input, the id is not passed on (no query), so a special "hidden" <input> variable is required to hold the employee number.
<?php // Connect to the database and get the data of interest $db = odbc_connect("iaidb", "css_test", "password") or die ("could not connect<br />"); $id = $_GET["id"]; $stmt = "Select LastName, FirstName, BirthDate, IsAdmin from tblEmployees where employeenumber=$id"; $result = odbc_exec($db, $stmt); if ($result == FALSE) die ("could not execute statement $stmt<br />"); $ln = odbc_result($result, "lastname"); $fn = odbc_result($result, "firstname"); $bd = odbc_result($result, "birthdate"); $ad = odbc_result($result, "isadmin"); $yes_status = ""; $no_status = ""; if ($ad == 1) $yes_status = "checked"; if ($ad == 0) $no_status = "checked"; ?> <form method="post" action="edit_emp.php"> <input type="hidden" name="id" value="<?php echo $id;?>"> <ul> <li>Last Name: <input type="text" name="lastname" value="<?php echo $ln;?>"> <li>First Name: <input type="text" name="firstname" value="<?php echo $fn;?>"> <li>Birth Date: <input type="text" name="birthdate" value="<?php echo $bd;?>"> <li>Admin: <input type="radio" name="isadmin" value="yes" <?php echo $yes_status;?>>Yes <input type="radio" name="isadmin" value="no" <?php echo $no_status;?>>No </ul> <input type="submit" value="Submit"> </form>
Updating the employee information uses edit_emp.php to process the input and change the employee information in the table:
<?php function dquote($str){ return str_replace("'","''",$str); } $db = odbc_connect("iaidb", "css_test", "password") or die ("could not connect<br />"); $id = $_POST["id"]; // Get the hidden variable's value $ln = dquote($_POST["lastname"]); $fn = dquote($_POST["firstname"]); $bd = date("Ymd", strtotime($_POST["birthdate"])); $adm = $_POST["isadmin"]; // either "yes" or "no" $ad = 0; if ($adm == "yes") $ad = 1; $update_stmt = "update tblEmployees set LastName='$ln', FirstName = '$fn', BirthDate = '$bd', IsAdmin=$ad ". "where EmployeeNumber=$id"; $result = odbc_exec($db, $update_stmt); if ($result == FALSE) die("<br />Could not execute statement ".$update_stmt); odbc_free_result($result); odbc_close($db); include 'showEditableEmps.php'; ?>