我創建了一個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