我想做什么:在带有编辑按钮的表中加载 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中不起作用。 单击编辑按钮不执行任何操作。有人可以告诉我如何解决它吗? 谢谢。
尝试使用这个:
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'];
=> $id=mysqli_real_escape_string($conn, $_GET['id']);
其中$conn
是您的 MySQL 连接对象)。
您可以在Google上搜索任何这些内容。
你不应该使用 <input type="submit" value="edit" name="edit" />
.
只需"<a href='editForm.php?id='".$data['id']."' style='text-decoration: none' />Edit</a>"
即可将数据发送到editForm.php
页面。
PS:提交按钮只能用于提交表单内的所有表单元素。
这种方式写入按钮的行
echo "<td><a href='"editForm.php?id=$data[id]'" style='"text-decoration: none'">Edit</a></td>";
单击按钮尝试提交表单。但是您要做的是访问页面 editForm.php
PS:您应该阅读一些有关PHP和html的教程,以学习最佳实践;)
在第一个 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>";
你可以用jQuery以一种很好的方式做到这一点。尝试阅读本文。