簡體   English   中英

通過PHP / HTML表單更新SQL數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM