我希望每个数据库条目都有一个编辑按钮,当用户点击编辑时,它只会获得与其并排的条目。我曾试图使用像<input type="hidden" name="userid" value=...>
这样的隐藏输入,但我真的不知道该把它放在哪里,以及它可以提供什么帮助。
所以你也可以看到它,我附上了一张桌子的照片。
我希望你能帮助我,如果还有其他你需要知道的信息,请告诉我。
<?php
include 'dbConnect.php';
echo '<table border="1" cellpadding="1" cellspacing="1" width="90%" style="margin: 0 auto">';
echo '<tr class="allUsers">';
echo '<th>Username</th>';
echo '<th>First name</th>';
echo '<th>Last name</th>';
echo '<th>Email</th>';
echo '<th>Year group</th>';
echo '<th>Subject 1</th>';
echo '<th>Subject 2</th>';
echo "<th>Subject 1's teacher</th>";
echo "<th>Subject 2's teacher</th>";
echo '<th>Privilege</th>';
echo '<th></th>';
echo '</tr>';
$getUsers = mysqli_query($connection, "SELECT * FROM users");
while($users=mysqli_fetch_assoc($getUsers)){
echo '<form method="post" action="">';
echo '<tr>';
echo '<td>'.$users['username'].'</td>';
echo '<td>'.$users['first_name'].'</td>';
echo '<td>'.$users['last_name'].'</td>';
echo '<td>'.$users['email'].'</td>';
echo '<td>'.$users['year_group'].'</td>';
echo '<td>'.$users['subject'].'</td>';
echo '<td>'.$users['subject2'].'</td>';
echo '<td>'.$users['teacher'].'</td>';
echo '<td>'.$users['teacher2'].'</td>';
echo '<td>'.$users['is_admin'].'</td>';
echo '<td><button name="editUser">Edit</button></td>';
echo '</tr>';
echo '</form>';
}
if (isset($_POST['editUser'])){
$username = $_SESSION['name'];
// ....
}
}
echo '</table>';
?>
答案 0 :(得分:1)
<强> 1。方法(隐藏输入)
您可以将隐藏的输入放入可以提交的每个<form></form>
中。
<input type="hidden" name="userid" value=...>
<强> 2。方法($_SESSION
)
第二种方法是将ID
保存在会话中。
优点:
为了将用户重定向到下一页,发送有关要编辑的行的某种信息会很有帮助。如果您要发送的信息每次都不同,您可以使用隐藏的输入。每行相同的ID可以保存在会话中。
答案 1 :(得分:1)
来自Luca答案的第二种方法。
您还可以使用get方法编辑其他页面上的详细信息。 echo '<td><a herf="edit.php?id=' . urlencode(base64_encode($users['id'])) . '">Edit</a></td>';
我们将在edit.php中获取id并继续。
<?php
include 'dbConnect.php';
echo '<table border="1" cellpadding="1" cellspacing="1" width="90%" style="margin: 0 auto">';
echo '<tr class="allUsers">';
echo '<th>Username</th>';
echo '<th>First name</th>';
echo '<th>Last name</th>';
echo '<th>Email</th>';
echo '<th>Year group</th>';
echo '<th>Subject 1</th>';
echo '<th>Subject 2</th>';
echo "<th>Subject 1's teacher</th>";
echo "<th>Subject 2's teacher</th>";
echo '<th>Privilege</th>';
echo '<th></th>';
echo '</tr>';
$getUsers = mysqli_query($connection, "SELECT * FROM users");
while ($users = mysqli_fetch_assoc($getUsers)) {
echo '<tr>';
echo '<td>' . $users['username'] . '</td>';
echo '<td>' . $users['first_name'] . '</td>';
echo '<td>' . $users['last_name'] . '</td>';
echo '<td>' . $users['email'] . '</td>';
echo '<td>' . $users['year_group'] . '</td>';
echo '<td>' . $users['subject'] . '</td>';
echo '<td>' . $users['subject2'] . '</td>';
echo '<td>' . $users['teacher'] . '</td>';
echo '<td>' . $users['teacher2'] . '</td>';
echo '<td>' . $users['is_admin'] . '</td>';
echo '<td><a herf="edit.php?id=' . urlencode(base64_encode($users['id'])) . '">Edit</a></td>';
echo '</tr>';
}
echo '</table>';
?>
<强> edit.php 强>
<?php
if(isset($_GET['id']) && !empty($_GET['id'])){
$id = urldecode(base64_decode($_GET['id']));
// do queries for $id
}else{
// id does not exits do something
}