php - 用 mysql 数组填充 php 表单字段(点击)

标签 php mysql arrays

我是一个 php/mysql 新手,正在开发一个发票应用程序。我有一个 summary.php 页面,我在其中使用 php 查询数据库并使用检索到的数据呈现表格:

< ?php
    mysql_connect ... [ snip ] ...

    // retrieve all data in the 'Invoices' table ...
    $result = mysql_query("SELECT * FROM Invoices") or die(mysql_error());
    // ... and store each record in a variable:
    $row = mysql_fetch_array($result);

我的 table 是:

<table class="record-summary">
    <form action="/edit.php" method="post">
    <tr>
        <th ... 
        [ snip: more table headers ] ...

<?php
    $controls = "<input type=\"submit\" value=\"details.php\" /><input type=\"submit\" value=\"edit.php\" />";
    while($row = mysql_fetch_array($result))
        {
        echo "<tr>";
            echo "<td class=\"id\">". $row['ID']. "</td>";
            echo "<td class=\"inv\">". $row['invoiceNumber']. "</td>";
            [ snip: more data cells ] ...
            echo "<td class=\"controls\">". $controls . "</td>";

每行的最后一个单元格 (td.controls) 包含两个提交,一个链接到详细 View (details.php),另一个链接到表单页面 (edit.php)。我的目标是用记录/行的值填充任一页面。我需要帮助的地方是如何准确地使用 $row 变量将此数组携带到例如 edit.php,并填充表单中的字段(实际上我相当确定我有表单输入值属性的语法) . details.php 和 edit.php 都显示了记录中的所有数据字段,尽管在 summary.php 中只显示了部分字段(因此,'summary.php')。所以我的问题是:

我如何确保在单击任一按钮时,$row 包含给定记录的值,以及如何将数组推送到 details.php 或 edit.php 中?

非常感谢,

来源

最佳答案

您可以将 ID 传递给 edit.phpdetails.php 但没有表单只有两个链接到 edit.php?id=details.php?id=:

<?php
    // $controls = "<input type=\"submit\" value=\"details.php\" /><input type=\"submit\" value=\"edit.php\" />"; <-- is not necessary
    while($row = mysql_fetch_array($result))
    {
        echo "<tr>";
        echo "<td class=\"id\"><a href=\"details.php?id=". $row['ID']. "\">details.php</a> | <a href=\"edit.php?id=". $row['ID']. "\">edit.php</a></td>";
        echo "<td class=\"inv\">". $row['invoiceNumber']. "</td>";
        // [ snip: more data cells ] ...
        // echo "<td class=\"controls\">". $controls . "</td>"; <-- is not necessary

可以通过id抓取数据:

//....
if (isset($_GET['id']) && is_numeric($_GET['id']))
{
    $id = $_GET['id'];
}
else
{
    die("There is no id.");
}

$sql = sprintf("SELECT * FROM Invoices WHERE id = %s", $id);
$result = mysql_query($sql) or die(mysql_error());

$row = mysql_fetch_array($result);

关于php - 用 mysql 数组填充 php 表单字段(点击),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7492788/

相关文章:

python - 如何遍历数组数组中的键?

mysql - 快速字符串匹配 MySQL 查询

php - 使用 maatweb 将 Excel 工作表导入 Laravel 5.1

php - 如何在数据库中连续插入多个图像文件

php - 使用 PHP 比较和输出来自数组和 MySQL 查询的日期

php - 如何制作列的全文索引?

sql - 在 Postgres 中搜索整数数组

php - Laravel 显示空白页面(持续加载)

php - 显示好友列表中的好友

php - .php-fpm-bin 100% CPU 使用率。如何跟踪导致它的确切脚本?