这是我的数据库的屏幕截图!我已成功完成插入和删除操作 但是我在查看个人记录时遇到问题 当我点击id#45上的视图时,将显示所有细节,包括第二行!这是结果的屏幕截图
正如您在结果中看到的那样,第二行的细节出现了!我想只显示我点击的行的详细信息! 我会请求专家帮助
这是我的view.php代码
<?php
require 'database.php';
$query = "SELECT id, date, po FROM sales";
$result = $mysqli->query($query) or die(mysqli_error($mysqli));
if ($result) {
echo "<table cellspacing='0' cellpadding='15' border='0'>
<th >Date</th><th >PONumber</th>";
while ($row = $result->fetch_object()) {
$po = $row->po;
$date = $row->date;
$id = $row->id;
echo "<tr>
<td>$date</td> <td >$po</td></tr>";
}
}
?>
答案 0 :(得分:1)
您的PHP代码循环遍历$ query返回的所有行。您的查询可能有一个错误的where子句
编辑您的编辑:
$id = $_GET["id"];
$query = "SELECT id, date, po FROM sales where id = $id";
答案 1 :(得分:1)
您的$query
命令过于笼统。现在,它是说“从销售表中选择字段id,date和po”。你想要做的是说“仅在那些id =在页面之前选择的id的条目”中,从sales表中选择字段id,date和po。这就像是
$query = "SELECT id, date, po FROM sales WHERE id = ".$id
其中$ id值是正确转义的输入ID。你可能正在通过GET发送这个id,所以它会像$ _GET ['id'],但这正如迈克尔所说,取决于第一个表的HTML是什么样的。
这一点很重要:你不想像我上面说明的那样使用它而不正确地转义从GET收到的数据,否则有人可以通过$ _GET的值发送SQL来擦除整个表['ID']。看看这个方法: http://www.electrictoolbox.com/escape-variables-php-pear-db-bound-placeholders/
这将帮助您正确转义数据。但是,您的问题的答案是您必须添加WHERE
子句。