【问题标题】:How to Display data from a table into form inputs with php(full/exact description down)如何使用 php 将表格中的数据显示到表单输入中(完整/准确描述向下)
【发布时间】:2021-04-25 22:46:47
【问题描述】:

所以问题是为什么即使单击第二行的编辑按钮,我也只获得第一行数据,而相同的请求结果将数据正确显示到我的 html 表行中。 我的目标是将我在 html 表格行中获得的相同数据显示到弹出表单输入中,然后编辑/更新相同的数据并将新版本的数据再次发送到数据库中......任何帮助甚至一个想法都是太好了,提前感谢。
Photo

<?php
$host = "localhost"; //IP of your database
$userName = "root"; //Username for database login
$userPass = ""; //Password associated with the username
$database = "database_name"; //Your database name
$connectQuery = mysqli_connect($host,$userName,$userPass,$database);
if(mysqli_connect_errno()){
    echo mysqli_connect_error();
    exit();
}else{
    $selectQuery = "SELECT * FROM `table_name` ORDER BY `ID` ASC";
    $result = mysqli_query($connectQuery,$selectQuery);
    if(mysqli_num_rows($result) > 0){
  }else{
        $msg = "No Record found";
    }
}?>
<!-- of course starting by a while loop  -->
<?php while($row = mysqli_fetch_assoc($result)){?>
<!-- this how i displayed the data in a table row -->
<td><?php echo $row['row_name'];?></td>
<!-- that's how i displayed the data in a pop-up form inputs -->
 <input type="number" value="<?php echo $row['row_name'];?>">

【问题讨论】:

  • 请注意,这些行只是一些序列,是与我的问题/问题相关的最重要的序列

标签: javascript php html mysql


【解决方案1】:

这是整个代码吗? 因为似乎在 while 中缺少右大括号。

我认为,你可以做一些改进(当然这些只是想法):

使用 PDO : 这样您就可以在 OOP 中显示错误并管理您的数据库:https://www.php.net/manual/en/pdo.error-handling.php

<?php
// DbConnection.php
class DbConnection {

    static function connect() {
        try {
            $pdo = new PDO("mysql:host=localhost;dbname=dbname", "user", "pass");
        } catch (Exception $e) {
            die("Erreur :" . $e->getMessage());
        }
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $pdo->exec("SET NAMES UTF8");
        return $pdo;
    }
}

然后您可以包含或要求该文件并调用它

DbConnection::connect();

当你想使用它时:

<?php
// controller
require = 'DbConnection.php'
$pdo = DbConnection::connect();

$query = $pdo->prepare("SELECT * FROM `table_name` ORDER BY `ID` ASC");
$query->execute();

$rows = $query->fetchAll(PDO::FETCH_ASSOC);

使用 foreach : 如果您获取所有以在数组上使用会更容易,但您可以这样做

// view or HTML file
<?php foreach ($rows as $row): ?>
    <!-- this how i displayed the data in a table row -->
    <td><?= $row['row_name'];?></td>
    <!-- that's how i displayed the data in a pop-up form inputs -->
    <input type="number" value="<?= $row['row_name'];?>">
<?php endforeach; ?>

要知道&lt;?php echo ... ?&gt;等于&lt;?= ... ?&gt;

我希望这将有助于解决您的问题,并且我的回答不会离题。

ps:如果您发现错误或其他问题,请随时纠正我。

【讨论】:

  • 感谢您的评论,首先我发布的所有行只是我的代码的一些序列(我的整个代码是 1000 行),它们在逻辑上与我面临的问题相关,并且我刚刚尝试修改的方式仍然存在相同的问题(注意:不是错误!)
  • 是的,我明白了,但是没有代码提供答案会有点困难。如果您提供更多详细信息,也许会有人帮助提高效率。
  • 你好,很抱歉回复太晚了,我已经自己解决了,非常感谢你的帮助,我真的很感激。保持安全!
  • 嗨,没问题,不客气,注意安全!
猜你喜欢
  • 2013-11-13
  • 1970-01-01
  • 2012-10-10
  • 2013-09-15
  • 2013-12-07
  • 1970-01-01
  • 2013-10-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多