php如何在表中添加编辑按钮并加载数据以编辑表单

时间:2012-05-31 08:34:11

标签: php html button

我想做什么: 使用编辑按钮从表中的mysql数据库加载数据。

出了什么问题: 单击编辑按钮时,它不会在编辑表单上加载数据。

我的尝试: 我在家里尝试了以下代码在Firefox上,它运行得很好。但是在工作中它无法在编辑表单中加载Firefox中的数据,而在IE中单击按钮则无效。

<?php
echo '<table id="viewAll">';
            echo '<tr>';
            echo '<th>Product</th>';
            echo '<th>Status</th>';
            echo '<th>Summary</th>';
            echo '<th>Created</th>';
            echo '<th>Updated</th>';
            echo '<th>Edit</th>';

            echo '</tr>';


            while ($data=mysqli_fetch_array($result)){

            echo '<tr align="center">

            <td>'.$data['product'].'</td>
            <td>'.$data['status'].'</td>
            <td align="left">'.$data['summary'].'</td>
            <td>'.$data['created'].'</td>
            <td >'.$data['updated'].'</td>';

            echo "<td><a href=\"editForm.php?id=$data[id]\" style=\"text-decoration: none\"><input type=\"submit\" value=\"Edit\" /></a></td>";

            echo '</tr>';


                }#end of while


            }#end of if



echo '</table>';
?>

然后我做:

$id=$_GET['id'];



            $query="SELECT * FROM tickets WHERE id='$id'";


            $result = mysqli_query($db,$query) or die( "My query ($query) generated an error: ".mysql_error());

            $data=mysqli_fetch_array($result);





            mysqli_close($db);

我使用数据数组中的内容将其加载到编辑表单中的字段中。

不幸的是,这在IE中不起作用。单击编辑按钮不会执行任何操作。有人可以告诉我如何解决它?谢谢。

5 个答案:

答案 0 :(得分:2)

您不应该使用<input type="submit" value="edit" name="edit" />

只有"<a href='editForm.php?id='".$data['id']."' style='text-decoration: none' />Edit</a>"才能将数据发送到editForm.php页面。

PS:提交按钮只能用于提交表单中的所有表单元素。

答案 1 :(得分:2)

尝试使用:

echo "<td><form action=\"editForm.php\" method=\"get\"><input type=\"hidden\" name=\"id\" value=\"$data['id']\" style=\"text-decoration: none\" /><input type=\"submit\" value=\"Edit\" /></form></td>";

这意味着您仍然可以使用按钮。

此外,我强烈建议您不要将表格用于表格数据,找到替代方案,例如<div> s。

请记住清理SQL查询,否则您可能会受到SQL注入攻击。 (例如$id=$_GET['id']; =&gt; $id=mysqli_real_escape_string($conn, $_GET['id']);其中$conn是您的MySQL连接对象。)

您可以在Google上搜索上述任何内容。

答案 2 :(得分:1)

以这种方式纠正您编写按钮的行

echo "<td><a href=\"editForm.php?id=$data[id]\" style=\"text-decoration: none\">Edit</a></td>";

点击按钮尝试提交表单。但你想要做的是访问页面editForm.php

PS:你应该阅读一些关于PHP和html的教程来学习最佳实践;)

答案 3 :(得分:0)

在第一个PHP脚本的while循环中,回显编辑按钮的行是错误的 您必须使用连接函数.和引号来获取$data["id"]中的值 您的第echo "<td><a href=\"editForm.php?id=$data[id]\" style=\"text-decoration: none\">Edit</a></td>";行必须替换为:

echo "<td><a href=\"editForm.php?id=".$data['id']."\" style=\"text-decoration: none\">Edit</a></td>";

答案 4 :(得分:0)

或者你可以用jQuery以一种很好的方式做到这一点。请尝试阅读this