【问题标题】:How can I list all mySQL records and provide an update button for each?如何列出所有 mySQL 记录并为每个记录提供更新按钮?
【发布时间】:2011-01-07 17:00:13
【问题描述】:

我的第一篇文章,多么令人兴奋!我似乎无法弄清楚这一点,我正在从特定表中提取客户记录并在 html 表中列出所有内容(姓名、应付账款、日期等)。我想在每一行旁边添加一个“更新记录”按钮,但我不确定最好的方法。我已经尝试在 foreach 循环中创建一个按钮来回显数据并在其中一个行值之后命名按钮以识别它。我相信有更好的方法来做到这一点!

这就是我所拥有的(我只是被严重的 php 弄湿了):

while($row = mysql_fetch_row($result)) {

        echo '<tr>';
        foreach($row as $cell) {

            echo "\n<td>$cell</td>";
    }

    echo '<td><form method="POST" action="userupdate.php">
    <input name="update" type="button" value="Update Record" />
    <input type="hidden" name="'.$row[1].'" /></form></td></tr>';
    echo "\n\n";
 }

但现在我不知道如何调用隐藏的输入名称。我确信这是实现这一目标的最愚蠢的方法(不要对我太苛刻!),但我需要一些帮助!除了按钮之外,也许还有更好的方法来做到这一点。

表格中至少有 200 行。

【问题讨论】:

  • 你有一个只更新一条记录的有效解决方案吗?
  • 这就是我正在做的事情。我还考虑在每列旁边设置一个复选框和一些更新字段,而不是按钮。
  • 将其设为超链接,edit.php?id=666
  • 完美!像魅力一样工作。

标签: php mysql webforms


【解决方案1】:

name 属性更改为固定值,例如“row_id”。然后,将 value 设置为 $row[1]... 然后可以像访问任何其他 CGI 参数一样访问它

【讨论】:

  • 是的,隐藏输入应该更像
【解决方案2】:
foreach($row as $cell) {
    echo "<tr>";
    echo "\n<td>$cell['name']</td>"; //this will be all other details you want to show
    echo "\n<td><a href="update.php?id=<?php print $cell['id']; ?>"</td>";
    echo "</tr>";
}

在您的 update.php 文件中

<?php

$id = floor($_GET['id']);

if($id > 0)
{
    //do your update query and other stmts
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多