0

我正在尝试做的事情: 从 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 中不起作用。单击编辑按钮不执行任何操作。有人可以告诉我如何解决吗?谢谢。

4

5 回答 5

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'];=>你的 MySQL 连接对象$id=mysqli_real_escape_string($conn, $_GET['id']);在哪里)。$conn

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

于 2012-05-31T09:12:58.193 回答
2

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

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

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

于 2012-05-31T08:47:45.133 回答
1

以这种方式更正您将按钮写入的行

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

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

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

于 2012-05-31T08:37:36.703 回答
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>";

于 2012-05-31T08:39:00.773 回答
0

或者你可以用 jQuery 以一种很好的方式做到这一点。试试看这个

于 2012-05-31T08:39:10.990 回答