我创建了一个foreach
语句,它将访问MySQL数据库,并在列表中显示数据库中每个人的用户名和ID - 这里没有问题。每个人旁边的按钮将显示身份证号码 - 没有问题。然而,当我按下按钮时,它将返回最后一个人的值,在这种情况下是30而不是数字1或我按下的任何数字的按钮。在循环之外使用的foreach语句和设置变量
我认为这是因为当页面显示时,它会在显示循环时为每次循环的变量分配ID。
$ID
将被设置为最后一个,因为在最后一个选项完成关闭之前,显示页面时会显示页面中的每个人,仅显示页面。所以,当涉及到我按下按钮当然$ID
将被设置为30,因为它不得不数目,只是让我可以看到它。这是我遇到的问题。当我按下按钮时,我希望将Session['id']
设置为$ID
设置的值,而不是在页面显示完成后设置$ID
。
<?php
include 'connect.php';
foreach($db->query("SELECT * FROM Staff") as $row) {
$ID = $row['id']
Echo $row['id'];
Echo $row['FirstName'];
Echo $row['LastName'];
?>
<button Class="link" id="OpenUp"><?php echo $id; $_SESSON['id'] = $id; ?></button>
<?php } ?>
在foreach之前定义'$ ID',现在'$ ID'只存在于foreach范围中。而'$ ID'也不等于'$ id'。这些变量是区分大小写的。 – MrRP
为什么你会使用会话?按下按钮时激活了什么功能? – user4035