我一直在浏览不同的网站以寻求帮助,但似乎找不到任何与我的问题有关的东西,所以这里是:
我有一个价值系统,需要经常更新,而不是删除和重新创建它,我想使用 MySQL 更新的编辑功能。
我已经有一个更新工作,但它更新了所有行。我希望它只更新一个 - 但这不是全部问题。
我想要它,所以当我在 item1 上单击 Edit 时,它会转到只有 item1 的下一页,而不是 item1、item2 和 item3。
例子:
+------------+-------------+----------------+ | 项目 | 价值 | 行动 | +------------+-------------+----------------+ | 项目1 | 123 | 编辑/删除 | | 项目2 | 第456章 编辑/删除 | | 项目2 | 第789章 编辑/删除 | +------------+-------------+----------------+
那是我的管理员项目表(不是数据库)。我想要它,所以我单击编辑(删除工作正常),它会将我带到下一页,其中只有我想要编辑的项目。目前,它会将我带到下一页,但会包含所有项目。
这是我的 MySQL 的样子:
+------------+-------------+---------------+
| id | name | value |
+------------+-------------+---------------+
| 7 | item1 | 123 |
| 8 | item2 | 456 |
| 9 | item3 | 789 |
+------------+-------------+---------------+
“id”是主要的,并且是自动递增的。基本上,除了要编辑的下一页之外,我已经完成了所有设置。
我有链接到正确 ID 的编辑链接和所有这些,所以它将用于 ID 为 7 的 item1:/admin/index.php?_managevalues&itemId=7
但它仍然显示所有项目并更新所有项目值。
在此先感谢,如果需要,我会很乐意发布代码。
编辑1:
好的,这里是 manageitems.php:
<tr>
<td><b>Item Name</b></td>
<td><b>Image</b></td>
<td><b>Action</b></td>
</tr>
<?php
if($getitem = $db->query("SELECT * FROM lukevalues ORDER BY name ASC")) {
while($item = $getitem->fetch_assoc()) {
echo "
<tr>
<td><b>" . $item['name'] . "</b><br>at the price of <b>" . $item['price'] . "</b></td>
<td><img src='" . $item['image'] . "'></td>
<td><a href='index.php?_page=edititem&itemId=" . $item['id'] . "'>Edit Price</a> / <a href='index.php?_page=manageitem&del=" . $item['id'] . "'>Remove</a></td>
</tr>";
}
}
?>
</table>
<?php if(isset($_GET["del"]))
{
$db->real_query("DELETE FROM lukevalues WHERE id = '" . filter($_GET["del"]) . "'");
echo "
Item has been removed successfully. <br /><br />
";
}
echo $output;
?>
编辑2:
这是我的编辑页面:
<?php
if($getitem = $db->query("SELECT * FROM lukevalues")) {
while($item = $getitem->fetch_assoc()) {
echo "
You're editing: <b>" . $item['name'] . "</b><br>
Which has a price of <b>" . $item['price'] . "</b>
<br /><br>
<form method='post'>
<h3>New Price</h3>
<input type='text' name='newprice'> <br />
<br />
<input type='submit' value='Update Price'>
</form>";
if(isset($_POST["newprice"])) {
$new = $db->real_escape_string($_POST["newprice"]);
$db->real_query( "UPDATE lukevalues SET price='$new' WHERE id = ".$item['id']);
echo "<br><br>Done! <a href='http://habzilla.net/admin/index.php?_page=manageitems'>Go back</a> to manage items.";
}
}
}
?>