为每个用户点击按钮点击ID

时间:2017-03-08 14:35:37

标签: php mysql button input

我希望每个数据库条目都有一个编辑按钮,当用户点击编辑时,它只会获得与其并排的条目。我曾试图使用像<input type="hidden" name="userid" value=...>这样的隐藏输入,但我真的不知道该把它放在哪里,以及它可以提供什么帮助。

所以你也可以看到它,我附上了一张桌子的照片。

enter image description here

我希望你能帮助我,如果还有其他你需要知道的信息,请告诉我。

<?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>';
?> 

2 个答案:

答案 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

  }