我正在尝试创建一个简单的应用程序来显示处于/不在办公室状态的经理。我将在我们的接待区放置一个屏幕,以显示应用程序完成时的状态,但我被卡住了。有人可以指出我正确的方向。 基本上,我使用while循环来显示MySQL数据库中的每条记录。每次单击管理器的图像时,一段javascript会更改进/出状态,然后我会有一个保存按钮。一切都有效,除了这一件事......当页面加载时,一些数据显示不正确。我可以使用javascript操作每个记录并将其更新的值保存到数据库中。但是当我刷新页面时,一些值是不正确的(尽管它们在后端是正确的)。这是我的HTML / PHP -
<form action="update.php" method="post">
<ul id="blurContainer">
<?php while ($record = $stmt->fetch()) { ?>
<li id="<?php echo $record['id']; ?>">
<input type="hidden" value="<?php echo $record['id']; ?>" name="id[]" id="id">
<input type="hidden" value="<?php echo $record['status']; ?>" name="status[]" id="status<?php echo $record['id']; ?>">
<img id="overlay" src="<?php echo $record['image']; ?>" />
</li>
<?php } ?>
</ul>
<input type="submit" value="Submit" name="submit" id="update">
</form>
以下是我在页面加载时从浏览器获得的内容 -
<form action="update.php" method="post">
<ul id="blurContainer">
<li id="1" style="opacity: 1;">
<input type="hidden" value="1" name="id[]" id="id">
<input type="hidden" value="out" name="status[]" id="status1">
<img id="overlay" src="images/jk.jpg">
</li>
<li id="2" style="opacity: 1;">
<input type="hidden" value="2" name="id[]" id="id">
<input type="hidden" value="out" name="status[]" id="status2">
<img id="overlay" src="images/km.jpg">
</li>
<li id="3" style="opacity: 1;">
<input type="hidden" value="3" name="id[]" id="id">
<input type="hidden" value="out" name="status[]" id="status3">
<img id="overlay" src="images/ap.jpg">
</li>
<li id="4" style="opacity: 1;">
<input type="hidden" value="4" name="id[]" id="id">
<input type="hidden" value="out" name="status[]" id="status4">
<img id="overlay" src="images/lb.jpg">
</li>
</ul>
<input type="submit" value="Submit" name="submit" id="update">
</form>
一切都是正确的,除了这些行 -
<input type="hidden" value="out" name="status[]" id="status1">
<input type="hidden" value="out" name="status[]" id="status3">
值应在&#39;中读取。
我很难过!!
我确信这很简单,但我不知道!任何帮助将非常感激!!提前谢谢。
我的update.php和.js-
<?php require 'start.php'; ?>
<?php
if(isset($_POST['submit'])){
$id = $_POST['id'];
$status = $_POST['status'];
for ($x = 0; $x < 4; $x++) {
$query = "UPDATE details SET status = :status WHERE id = :id";
$update = $db->prepare($query);
$update->bindValue(':status', $status[$x]);
$update->bindValue(':id', $id[$x]);
$update->execute();
}
} else {
echo 'not working';
}
header('Location: ' . BASE_URL . '/index.php');
?>
$(function() {
$("#blurContainer li").on('click', inOut).click();
});
function inOut(e) {
var ID = e.currentTarget.id;
var elem = document.getElementById(ID);
if (elem.style.opacity == 0) {
elem.style.opacity = 1;
document.getElementById("status" + ID).value = 'out';
} else {
elem.style.opacity = 0;
document.getElementById("status" + ID).value = 'in';
}
}