如何在提交时将值更新到数据库中?

时间:2015-04-02 12:45:44

标签: php mysql

我想从数据库中更新用户信息的脚本。为此,我使用textboxex从db中获取用于输入的任何用户ID的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中实现相同的功能?

1 个答案:

答案 0 :(得分:0)

再次重定向到您用于获取反映更改的URL,或者在选择查询之前放置更新查询,以便您可以在选择查询中获取更新值。