[英]Update SQL data via PHP/HTML form
我得到了以下帶有選項的選擇形式,其中用戶選擇一個選項,例如電子郵件,地址等。輸入新數據以更新現有字段,這是通過將字段與名稱匹配來選擇的。
<form action="sUpdateResponse.php" method="post">
<select id="sRetrieveUpdate" name="sRetrieveUpdate" onchange=";">
<option value='' disabled selected style='display:none;'>Select Field To Update</option>
<option value="address">Address</option>
<option value="email">Email</option>
</select><br>
<div id="box-1"><input type="text" id="address" name="sUpdateAddress" placeholder="Enter New Address..."
onClick="$(this).removeClass('placeholderclass')" class="dateclass placeholderclass"></input></div>
<div id="box-2"><input type="text" id="email" name="sUpdateEmail" placeholder="Enter New Email..."
onClick="$(this).removeClass('placeholderclass')" class="dateclass placeholderclass"></input></div>
For the staff entry
where the name matches...<br>
<input type="text" placeholder="Enter Forename..." name="sUpdateFN">
<input type="text" placeholder="Enter Surname..." name="sUpdateSN">
<input type="submit" value="Update Record" name="sRetrieveUpdate">
</form>
然后,響應將檢查以查看是否選擇了地址或電子郵件,並更新名字和姓氏與輸入的名字或姓氏匹配的地方。
if(isset($_POST['sUpdateEmail']) && isset($_POST['sUpdateFN']) && isset($_POST['sUpdateSN']))
$query = "UPDATE staffData SET sEmail = '".$_POST['sUpdateEmail']."' WHERE sFN = '".$_POST['sUpdateFN']."' AND sSN = '".$_POST['sUpdateSN']."'";
$result = mysql_query($query);
if(isset($_POST['sUpdateAddress']) && isset($_POST['sUpdateFN']) && isset($_POST['sUpdateSN']))
$query = "UPDATE staffData SET sAddress = '".$_POST['sUpdateAddress']."' WHERE sFN = '".$_POST['sUpdateFN']."' AND sSN = '".$_POST['sUpdateSN']."'";
$result = mysql_query($query);
唯一的問題是,當由於某種原因而更新一個字段時,另一個字段變為空時,知道它出了錯嗎?
您需要在代碼塊周圍放置方括號,否則將始終執行第二行。
這里的問題是,即使updateAddress為空,該變量仍將設置。 因此, isset
是測試它是否為空的不好方法。
因此,您應該添加!empty()
或!= ''
(要使用empty(),必須具有高於5.4的PHP版本)
這是一個例子:
if(isset($_POST['sUpdateEmail']) && $_POST['sUpdateEmail'] != '' && isset($_POST['sUpdateFN']) && isset($_POST['sUpdateSN'])) {
$query = "UPDATE staffData SET sEmail = '".$_POST['sUpdateEmail']."' WHERE sFN = '".$_POST['sUpdateFN']."' AND sSN = '".$_POST['sUpdateSN']."'";
$result = mysql_query($query);
}
if(isset($_POST['sUpdateAddress']) && $_POST['sUpdateAddress'] != '' && isset($_POST['sUpdateFN']) && isset($_POST['sUpdateSN'])){
$query = "UPDATE staffData SET sAddress = '".$_POST['sUpdateAddress']."' WHERE sFN = '".$_POST['sUpdateFN']."' AND sSN = '".$_POST['sUpdateSN']."'";
$result = mysql_query($query);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.