Alle Arbeiten,Formular Update - Nicht
Ich bin von der veralteten mysql_query
-mysqli
Migration und während des Prozesses einige Probleme mit der Form Aktualisierung Änderungen, die ich habe. Insbesondere scheint es, als ob die $ud_id
Variable, um die id
zu bekommen, nicht funktioniert.
Die Abfragen werden in die linken äußeren Joinverknüpfungstabellen empinfo
und headcount
geschrieben, in denen beide der verknüpfenden primären ID. Hier
ist die edit.php Seite, die funktioniert und Lasten wie beabsichtigt:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<div class="header">
<?php include 'header.php';?>
</div>
<center>
<?php
// db connection
include_once('../connection.php');
// id pull from url
$ID = (int)$_GET['id'];
// get results from database
$query = "SELECT headcount.*, empinfo.*
FROM headcount
LEFT OUTER JOIN empinfo
ON headcount.id = empinfo.id
WHERE headcount.id = '$ID'";
$response = mysqli_query($dbc, $query);
while($row = mysqli_fetch_array($response))
{
echo "<form action='update.php' method='post'>";
echo '<div style="width:40%;padding:0 10pt 0 0;float:middle;">';
if ($row['isActive'] === '1')
echo '<input type="checkbox" name="ud_isActive" value="1" checked>Active<br />';
else
echo '<input type="checkbox" name="ud_isActive" value="0">Active<br />';
echo '<input type="hidden" name="ud_ID" value="<?=$ID;?>">';
echo "ID #: <input type='text' name='ud_hwid' value=". $row['id'] ." disabled readonly><br />";
echo 'Name: <input type="text" name="ud_EmployeeName" value="'. $row["EmployeeName"] .'"><br />';
echo '<br />';
echo '<a href="mailto:' . $row["Email"] .'">Email</a>: <input type="text" name="ud_Email" value="'. $row["Email"] .'"><br>';
echo '<br />';
echo 'DOB: <input type="text" name="ud_DOB" value='. $row["DOB"] .'><br />';
echo 'Age: <input type="text" name="ud_Age" value='. $row["Age"] .'><br />';
if ($row['isUnderage'] === '1')
echo '<input type="checkbox" name="isUnderage" value="1" checked>Underage<br />';
else
echo '<input type="checkbox" name="isUnderage" value="0">Underage<br />';
echo '</div>';
echo '<div style="width:40%;padding:0 10pt 0 0;float:middle;">';
echo '<br />';
echo 'Address: <input type="text" name="ud_StreetAddress" value="'. $row["StreetAddress"] .'"><br />';
echo 'City: <input type="text" name="ud_City" value="'. $row["City"] .'"><br />';
echo 'Zip Code: <input type="text" name="ud_ZipCode" value="'. $row["ZipCode"] .'"><br />';
echo '<br />';
echo 'Home Phone: <input type="text" name="ud_HomePhone" value="'. $row["HomePhone"] .'"><br />';
echo 'Wireless: <input type="text" name="ud_Wireless" value="'. $row["Wireless"] .'"><br />';
echo '<br />';
echo 'Home Department: <input type="text" name="ud_HomeDept" value="'. $row["HomeDept"] .'"><br />';
echo 'Department Manager: <input type="text" name="ud_Manager" value="'. $row["Manager"] .'"><br />';
echo '</div>';
echo '<br />';
echo 'Live Orientation:<input type="date" name="LODate" value=""><br />';
echo '<br />';
echo 'Online Training: <input type="date" name="OTTraining" value=""><br />';
}
?>
<br />
<input type="Submit">
</form> <br />
<a href="javascript:history.back()">Go Back</a>
<br />
</body>
</html>
Hier ist die update.php -
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<style type="text/css">
#wrap {
width:600px;
margin:0 auto;
}
#left_col {
float:left;
width:300px;
}
#right_col {
float:right;
width:300px;
}
</style>
<div class="header">
<?php include 'header.php';?>
</div>
<center>
<?php
$ud_ID = $_REQUEST["ID"];
$ud_EmployeeName = $_POST["ud_EmployeeName"];
$ud_Email = $_POST["ud_Email"];
$ud_DOB = $_POST["ud_DOB"];
$ud_Age = $_POST["ud_Age"];
$ud_StreetAddress = $_POST["ud_StreetAddress"];
$ud_City = $_POST["ud_City"];
$ud_ZipCode = $_POST["ud_ZipCode"];
$ud_HomePhone = $_POST["ud_HomePhone"];
$ud_Wireless = $_POST["ud_Wireless"];
$ud_HomeDept = $_POST["ud_HomeDept"];
$ud_Manager = $_POST["ud_Manager"];
// db connection
include_once('../connection.php');
$query = "UPDATE headcount SET
EmployeeName = '$ud_EmployeeName', Email = '$ud_Email',
DOB = '$ud_DOB', Age = '$ud_Age', StreetAddress = '$ud_StreetAddress',
City = '$ud_City', ZipCode = '$ud_ZipCode', HomePhone = '$ud_HomePhone',
Wireless = '$ud_Wireless', HomeDept = '$ud_HomeDept', Manager = '$ud_Manager'
WHERE ID = '$ud_ID'";
$response = mysqli_query($dbc, $query);
echo $ud_ID;
echo $ud_EmployeeName;
if ($response)
echo '<p>Record Updated<p> <br /> <a href="javascript:history.back()">Go Back</a>';
else
echo "Problem updating record. MySQL Error: " . mysql_error();
?>
</body>
</html>
Auf der Linie 52 von Update .php Sie werden feststellen, ich verwende Echo $ud_ID
und $ud_EmployeeName
- Dies ist, um mir zu zeigen, was die Variable anzeigt. Die $ud_EmployeeName
erscheint und die $ud_ID
nicht.
Ich habe auch
$ud_ID = $_POST["ID"];
und ich keine Ergebnisse versucht mit.
Zusätzlich auf edit.php Ich habe versucht:
echo '<input type="hidden" name="ud_ID" value='. $row["id"] .'><br />';
und erhalte ich die Fehlermeldung:
Notice: Undefined index: ID in update.php on line 27
Wenn ich die submit
Schaltfläche klicken, erhalte ich die Meldung, dass der Datensatz wurde aktualisiert, aber beim Aktualisieren enthält der Datensatz dieselben Daten.
Danke, Mamta. Arbeitete perfekt. – hinteractive02