作为 PHP 和 SQL 的新手,我构建了一个具有 20 个输入的简单 HTML 表单,允许用户通过 input type=text 或 file 输入特定数据。我建立了一个 mysql 数据库,用于插入/保存此用户数据。一切正常,这对我来说是一项重大成就。
我正在寻求下一步的帮助,我认为这一步应该称为“编辑”?
此步骤将允许用户在以后调用他们输入的 mysql 数据以进行编辑和保存。希望将此召回的数据直接注入(inject)到原始 HTML 表单中。现在,似乎有必要有一个方法(可能是一个 HTML 表单“id”输入)从数据库中调用与该用户关联的特定记录(包括所有 20 个数据输入)。我的想法正确吗?
我正在寻求帮助/指导,使用简单而详细的方法来解决此步骤。请注意,我使用一些示例在此“编辑”步骤中进行的几次尝试都失败了。我对这个PHP掌握的不是很牢,但是想精通的愿望很强烈。
这是一个模型,是我当前工作代码的精简版本。我删除了 $connection = mysql_connect.
这是我构建的 PHP,运行良好!
<?php
require('db.php');
if (isset($_POST['first_name'])){
$first_name = $_POST['first_name'];
$favorite_color = $_POST['favorite_color'];
$trn_date = date("Y-m-d H:i:s");
$query = "INSERT into `form_data` (first_name, favorite_color, trn_date) VALUES ('$first_name', '$favorite_color', '$trn_date')";
$result = mysql_query($query);
if($result){
echo "<div class='form'><h1>First Name & Favorite Color POST to db was successfull.</h1>
<br/><h3>Click here to return <a href='https://jakursmu.com/tapcon_builder/tb_form_data_1.1.php'>TapCon Builder</a></h3>
</div>";
}
}else{
?>
这是 HTML 用户表单,非常适合 PHP 脚本:
<div class="form">
<h1>First Name & Favorite Color "POST" to db Test</h1>
<form target="_blank" name="registration" action=" " method="post">
<p> First Name<input name="first_name" type="text" placeholder="First Name" /> </p>
<p> Favorite Color <input name="favorite_color" type="text" placeholder="Favorite Color" /> </p>
<p> <input type="submit" name="submit" value="Submit / Update to db" /></p>
</form>
</div>
假设用户使用他们的“first_name”查询数据库,当这个“编辑”步骤完成时,最终结果将呈现/注入(inject)用户“first_name”和“favorite_color”返回到原始 HTML 表单中。这有意义吗?
我为此帮助帖子创建的数据库如下所示:
当用户希望编辑他们的数据时,他们可以在表单文本输入中输入他们的“first_name”(我假设?)他们的“first_name”将在数据库中找到。此数据库查询的输出结果将被注入(inject)到原始表单中,以供任何用户编辑。
User Edit for: Results (in origingal form):
Jack Jack Black
Jeff Jeff Green
Randall Randall Red
So on.........
我希望在提供任何有经验的帮助或指导的情况下,这种解释是有意义的。
感谢观看!
最佳答案
仅供练习之用,但您可以在空闲时间查看准备好的语句。
首先创建你的 php 文件
<form method="post" action="edit.php">
<?php
//in ur php tag. select items from the row based on an id you've passed on to the page
$sql = "select * from 'form_data' where blah = '$blah'";
$result = mysqli_query($connection, $sql);
if($result){
$count = mysqli_num_rows($result);
if($count > 0) {
while($row = mysqli_fetch_assoc($result)){
$name = $row['firstname'];
$lname = $row['lastname'];
//you can now echo ur input fields with the values set in
echo'
<input type="text" value="'.$name.'" >
';//that how you set the values
}
}
}
?>
</form>
最后,您可以在提交动态生成的表单输入时运行和更新语句。
另外请切换到 mysqli 或 pdo,比已弃用的 mysql 好多了。 也要研究准备好的陈述。希望这个漂亮的例子能引导您走上正确的道路...
关于php - 使用 MySQL 数据重新填充/编辑 HTML 表单输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36872241/