2015-04-02 52 views
0

我正在爲數據庫更新用戶信息做腳本。爲此,我使用textboxex從數據庫獲取用戶輸入的userinfo,並編輯相同的更新。我的代碼是如何在提交時將數值更新到數據庫中?

<form method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 
ENTER USER ID TO UPDATE DATA:<br/> 
<input type="text" name="userid" value="<?php if(isset($_POST['userid']))echo $_POST['userid'];?>"> 
<input type="submit" name="submit" value="Find Details"/> 
</form> 
<?php 
if(isset($_POST["submit"])){ 
    $userID=$_POST['userid']; 
    if(!$userID){ 
    echo "<script>alert('Please fill all the details.')</script>"; 
    exit(0); 
    } 
     global $conn; // Create connection 
     $conn = mysqli_connect('localhost', 'root','root','test');// Check connection 
     if (!$conn){ 
     die("Connection failed: " . mysqli_connect_error()); 
     } 
     $query="SELECT * FROM user WHERE ID='$userID'"; 
     $result=$conn->query($query); 
     $row=$result->fetch_array(); 
     if($row!=null){ 
     $id=$row['ID']; 
     $name=$row['name']; 
     $username=$row['username']; 
     $type=$row['type']; 
     //$action=echo "<?php echo htmlspecialchars($_SERVER['PHP_SELF']);"; 
     echo "<div id='item'>"; 
     echo "<form action='' method='post'>"; 
     echo"Existing Data is as:<br><br>"; 
     echo "User ID:<input type='text' name='idval' value='$id' wrap='physical'><br><br>"; 
     echo "Name:<input type='text' name='nameval' value='$name' wrap='physical'><br><br>"; 
     echo "User Name:<input type='text' name='userval' value='$username' wrap='physical'><br><br>"; 
     echo "User Type:<input type='text' name='typeval' value='$type' wrap='physical'><br><br>"; 
     // echo "<input type='submit' name='update' value='UPDATE'>"; 
     echo "</form>"; 
     echo "</div>"; 
}?> 

這是工作正常,如預期。現在我想要的是,只要我點擊更新按鈕值更改/編輯/更新值應該得到更新,然後顯示回給用戶。我有我的更新查詢,並且在測試時它在數據庫上工作正常。如何在php中實現相同的功能?

+0

使用POST /重定向/ GET概念 – Ghost 2015-04-02 12:48:58

+0

^或者使用Ajax。 – 2015-04-02 12:58:43

回答

0

重新指向您正在使用的URL以獲取反映的更改,或者在選擇查詢之前放置更新查詢,以便您可以在選擇查詢中獲取更新值。

相關問題