如何在提交时将数值更新到数据库中?
问题描述:
我正在为数据库更新用户信息做脚本。为此,我使用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中实现相同的功能?
答
重新指向您正在使用的URL以获取反映的更改,或者在选择查询之前放置更新查询,以便您可以在选择查询中获取更新值。
使用POST /重定向/ GET概念 – Ghost 2015-04-02 12:48:58
^或者使用Ajax。 – 2015-04-02 12:58:43