【问题标题】:Retrieve data from database and display in text boxes [closed]从数据库中检索数据并显示在文本框中[关闭]
【发布时间】:2013-03-23 01:26:40
【问题描述】:

好的,在 PHP 中不太好,我有一个数据库 (mysql),以及一个包含许多字段提交到数据库的表单,我需要调用所有值并将它们相应地显示到文本框中,以便可以对其进行编辑并再次提交。请帮忙

【问题讨论】:

  • 这是基本的核心 php。您应该阅读并了解自己的东西。我们是来帮忙的,而不是你的老师。

标签: php mysql sql-update


【解决方案1】:

我将给出一个非常简单的示例,可以帮助您入门。

可以通过(很可能)$_POST['input_name'] 访问这些值。不使用Post/Redirect/Get,您只需获取如下输入值:

$input_name = isset($_POST['input_name']) ? $_POST['input_name'] : '';

然后你会以如下形式显示它:

echo '<input name="input_name" value="'
    . htmlspecialchars($input_name, ENT_QUOTES) . '">';

如果你想使用P/R/G,你应该这样做,你需要将输入存储在$_SESSION中。

session_start();
//initialize all inputs to the empty string
if (!isset($_SESSION['inputs'])) {
    $_SESSION['inputs'] = array('input_name' => '');
}
if ('POST' == $_SERVER['REQUEST_METHOD']) {
    $_SESSION['inputs']['input_name'] = isset($_POST['input_name']) /* etc. */;
}

然后您可以通过$_SESSION 而不是$_POST 将其输出到您的表单中。

【讨论】:

    【解决方案2】:

    你可以用 php 和 HTML 做到这一点:

    <?php
        $con = new mysqli(host,user,pass,db_name);
        $query = "SELECT * FROM table";
        $result  = $con-> query($query);
        while ($row = $result->fetch_assoc()){
             $value = $row['column'];
             echo "<input type ='text' value ='".$value."'>";
         }
    
    ?>
    

    【讨论】:

    • 真的吗?您的示例每次迭代都会覆盖 value
    • 不小心把 echo 放到了 while 循环之外
    • @Ree 这个答案容易受到 XSS 攻击,因为 value 没有正确编码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多