如何列出所有mySQL记录并为每个记录提供更新按钮?

时间:2011-01-07 17:00:14

标签: php mysql webforms

我的第一篇文章,多么令人兴奋!!我似乎无法解决这个问题,我从特定的表中提取客户记录并在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行。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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
}