php - 使用 MySQL 数据重新填充/编辑 HTML 表单输入

标签 php html mysql

作为 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 表单中。这有意义吗?

我为此帮助帖子创建的数据库如下所示:

database image

当用户希望编辑他们的数据时,他们可以在表单文本输入中输入他们的“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/

相关文章:

php - 一种在MySQL数据库中查找表单表的方法

php - 如何检查数组中的内容

php - 如何从字符串而不是文件渲染 Zend_View 脚本

php正则表达式按[%%%]分割字符串

php - 即使返回错误,ajax 也始终运行成功

HTML 分页符不起作用

php - 为什么我的url访问失败?

javascript - 将鼠标悬停在图像上时在 div/文本中叠加/淡入淡出

html - 以右浮动元素为中心的元素

mysql - PHPMYADMIN - 如何允许用户创建数据库,但只显示该用户创建的数据库?