PHP动态HTML问题

时间:2011-06-06 17:52:47

标签: php

我有这个PHP / HTML,用POST表单包装。如何仅将单击删除按钮的行的ID传递回服务器?

        <table>
            <tr>
                <th>File Path</th>
                <th>Expiration</th>
            </tr>
            <?php
                $result = mysql_query ($list_query);
                $row_count = mysql_numrows ($result);

                for ($i = 0; $i < $row_count; $i++) {
                    $id = mysql_result ($result, $i, "id");
                    $path = mysql_result ($result, $i, "path");
                    $expiration = mysql_result ($result, $i, "expires");
            ?>
                    <tr>
                        <td width="60%">
                            <?php echo $path; ?>
                        </td>
                        <td>
                            <?php echo $expiration; ?>
                        </td>
                        <td>
                            <input type="submit" value="Delete Expiration" />
                        </td>
                    </tr>
            <?php
                }
            ?>
        </table>

3 个答案:

答案 0 :(得分:6)

在表单中使用隐藏字段。

<input type="hidden" name="id" value="<?php echo $id ?>">

您也应该为每个新行开始一个新表单。

 for ($i = 0; $i < $row_count; $i++) {
                    $id = mysql_result ($result, $i, "id");
                    $path = mysql_result ($result, $i, "path");
                    $expiration = mysql_result ($result, $i, "expires");
            ?>
                    <tr>
                        <td width="60%">
                            <?php echo $path; ?>
                        </td>
                        <td>
                            <?php echo $expiration; ?>
                        </td>
                        <td>
                         <form method="POST" action="?">
                           <input type="hidden" name="id" value="<?php echo $id ?>">
                           <input type="submit" value="Delete Expiration" />
                         </form>
                        </td>
                    </tr>
            <?php
                }
            ?>

答案 1 :(得分:2)

我同意Extrakun提出的解决方案,但是,为了完整性,我想指出使用JavaScript和DOM的选项。您可以使用JQuery,如此问题中所述:

jquery + table row edit - String problem

答案 2 :(得分:0)

您应该在行中的某处设置一个包含id的隐藏字段,并在每行的表单中包装隐藏字段和提交按钮:

<form>
<input type="hidden" name="id" value="<?php echo $id; ?>" />
<input type="submit" value="Delete" />
</form>

点击后,使用$ _POST ['id']获取ID。

格尔茨,

XpertEase