![](/img/trans.png)
[英]Using php how can I update a row in mysql database based on a forms input value?
[英]How can I store the input of two different forms in mySQL database with php?
我的页面上有两种表单,我想将提交的数据存储在数据库中。
<?php
$cat = $_POST['cat'];
$id = $_POST['id'];
if(isset($_POST['myForm'])){
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql_cat = "UPDATE animals set cat = ? WHERE id = '$id'";
$q = $pdo->prepare($sql_cat);
$q->execute(array($cat));
Database::disconnect();
header("Location: index.php");
}
$dog = $_POST['dog'];
$id = $_POST['id'];
if(isset($_POST['myForm2'])){
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql_dog = "UPDATE animals set dog = ? WHERE id = '$id'";
$q = $pdo->prepare($sql_dog);
$q->execute(array($dog));
Database::disconnect();
header("Location: index.php");
}
?>
<form action="index.php" method="post" name="myForm">
<div id="modal-cat" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h3>Cat</h3>
</div>
<div class="modal-body">
<p>
<input id="cat" type="text" name="cat" />
<input type="hidden" name="id" value="<?php echo $id ?>"/>
</p>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary">Save</button>
</div>
</div>
</div>
</div>
</form>
<form action="index.php" method="post" name="myForm2">
<div id="modal-returned" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h3>Dog</h3>
</div>
<div class="modal-body">
<p>
<input id="returned_number" type="text" name="returned_number" />
<input type="hidden" name="id" value="<?php echo $id ?>"/>
</p>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary">Save</button>
</div>
</div>
</div>
</div>
</form>
现在会发生什么,当我提交cat
的价值cat
被正确地存储在数据库中。 但是,如果我在那dog
之后提交,则狗也可以正确存储在数据库中,但是cat
被删除。 您能帮我解决这个问题吗?
<?php
$id = $_POST['id'];
if (isset($_POST['myForm'])) {
$cat = $_POST['cat'];
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql_cat = "UPDATE animals set cat = ? WHERE id = '$id'";
$q = $pdo->prepare($sql_cat);
$q->execute(array($cat));
Database::disconnect();
header("Location: index.php");
}
if (isset($_POST['myForm2'])) {
$dog = $_POST['dog'];
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql_dog = "UPDATE animals set dog = ? WHERE id = '$id'";
$q = $pdo->prepare($sql_dog);
$q->execute(array($dog));
Database::disconnect();
header("Location: index.php");
}
?>
<form action="index.php" method="post" >
<div id="modal-cat" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h3>Cat</h3>
</div>
<div class="modal-body">
<p>
<input id="cat" type="text" name="cat" />
<input type="hidden" name="id" value="<?php echo $id ?>"/>
</p>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary" name="myForm">Save</button>
</div>
</div>
</div>
</div>
</form>
<form action="index.php" method="post">
<div id="modal-returned" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h3>Dog</h3>
</div>
<div class="modal-body">
<p>
<input id="returned_number" type="text" name="returned_number" />
<input type="hidden" name="id" value="<?php echo $id ?>"/>
</p>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary" name="myForm2">Save</button>
</div>
</div>
</div>
</div>
</form>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.