我对PHP还是很陌生,正在尝试创建一个便携式计算机登录和注销系统。我希望能够将笔记本电脑的状态从0更新为1,反之亦然,这取决于笔记本电脑是否借用。我之前没有编写过UPDATE查询,并且似乎无法获得提交表单时要更新的值。我也在尝试使用PDO,再次不确定是否正确使用了PDO。我似乎也只针对数组中的最后一项,而不是按提交的相应笔记本电脑。
我曾尝试将已读过的不同答案和论坛中的不同内容整理在一起,但不知道我是否朝着正确的方向前进。我知道我已连接到数据库,并且能够从数据库中获取信息,但无法更新它。我知道表单的帖子,因为我得到了echo $ laptop_name,但是就像我之前说的,这是最后一行,而不是我按下的按钮。
<?php
if(isset($_POST['borrow'])) {
// echo '<script language="javascript">';
// echo 'alert("hi")';
// echo '</script>';
$STH = $DBH->prepare("SELECT * FROM laptops");
$STH->execute(array());
// WHILE LOOP TO LOOK THROUGH THE DIFFERENT ROWS
while ($row = $STH->fetch()) {
$laptop_name = htmlspecialchars($row->laptop_name);
$laptop_id = htmlspecialchars($row->laptop_id);
$status = htmlspecialchars($row->status);
}
$STH = $DBH->prepare("UPDATE laptops SET status = 0
WHERE laptop_name = ? LIMIT 1");
$STH->execute(array($laptop_name));
echo $laptop_name;
}
$STH = $DBH->prepare("SELECT * FROM laptops");
$STH->execute(array());
// WHILE LOOP TO LOOK THROUGH THE DIFFERENT ROWS
while ($row = $STH->fetch()) {
$laptop_name = htmlspecialchars($row->laptop_name);
$laptop_id = htmlspecialchars($row->laptop_id);
$status = htmlspecialchars($row->status);
?>
<form class="" action="" method="post">
<div class=""><?php echo $laptop_name; ?></div>
<div>
<?php
if($status == 1) {
echo "Available";
?>
<input type="submit" name="borrow" value="Borrow Laptop">
<?php
} else {
echo "Not Available";
}
?>
</div>
</form>
<?php
}
?>
我已经摆脱了错误和变量,因为它现在被标记为重复,而且我不知道它是否基于此-我花了很多时间研究类似的问题,并试图获取信息从这些内容开始,但是就像我说的我很新,非常感谢您的帮助。