如何从表中选择要编辑或删除的特定行

时间:2015-02-22 14:40:52

标签: php html mysql

我已经实施了预订系统,系统的一部分涉及允许用户修改或删除预订。我能够根据用户的会话和id在html表中显示,从数据库中检索预订。我一直无法从html表中选择特定行来编辑或删除预订。我希望能够从html表中选择一个特定的行,然后我将能够编辑或删除该记录。

下面的代码检索预订并将其显示在表格中

bookings.php

$sqlquery = "SELECT * FROM bookings1,users WHERE bookings1.userid = 
users.userid  AND  users.username = '".$_SESSION['loggedInUser']."' ";  
  $results = $mysqli->query($sqlquery);

if ($results->num_rows > 0) {
while ($row = $results->fetch_assoc()){

echo'<form method = "POST" action = "editmot.php" >';

 echo'<tr>';

  echo "<td>". $row["booking_id"]. "</td>";

   echo "<td>". $row["Type"]. "</td>";

     echo "<td>". $row["BookingDate"]. "</td>";

      echo "<td>". $row["Timeslot"]. "</td>";

        echo "<td>". $row["Manufacture"]. "</td>";

           echo "<td>". $row["Model"]. "</td>";

            echo "<td>". $row["RegistrationNo"]. "</td>";

           echo "<td><a href = 'editmot.php' id ='".$row['booking_id']."'> Edit </td>";

       echo "<td><a href = 'delete.php' id = '".$row['booking_id']."'> Remove </td>";

      echo '</tr>';

         echo '</form>';

4 个答案:

答案 0 :(得分:0)

在编辑链接的href属性中,包含Booking_Id作为URL参数。加载编辑页面时,从URL参数中选取booking_id并获取其他字段以进行编辑。喜欢:

echo " <a href = 'editmot.php' . '?EditBookingId=' . $row['booking_id'] " 

然后等等连接其他东西。

您的最终href网址应如下所示: &#39; http://editmot.php?EditBookingId=24798&#39;或者其他一些。

答案 1 :(得分:0)

使用此代码编辑或删除

<a href="samefile.php?action=update&id=$row['booking_id']">for edit</a>

<a href="samefile.php?action=delete&id=$row['booking_id']">for delete</a>

if(isset($_REQUEST['action']))
 if($_REQUEST['action']=="update")
  update query
else if($_REQUEST['action']=="delete")
delete query

答案 2 :(得分:0)

您可以使用提交按钮和隐藏的输入字段来保存预订ID,而不是使用锚标记,因为每个预订明细(或行)都是单独的形式。你可以在每个预订行中使用这样的东西:

echo "<td><input name='edit' type='submit' value='Edit'>"
. "<input type='hidden' name='booking_id' value='".$row['booking_id']."'></td>";

echo "<td><input name='delete' type='submit' value='Remove'>"
. "<input type='hidden' name='booking_id' value='".$row['booking_id']."'></td>";

然后在editmot.php中处理删除或编辑表单操作:

if (isset($_POST['edit'])) {
    // edit video here
}

if (isset($_POST['delete'])) {
    // delete video here
}

答案 3 :(得分:0)

您需要在网址中插入ID,以便您可以使用编辑或删除文件中的$_GET方法获取该ID。

所以你的anker需要看起来像:

<a href = 'delete.php?id=".$row['booking_id']."'>Delete</a>;

现在,当用户访问该网址时,网址会显示如下:

localhost/delete.php?id=20

现在在你的delete.php中你可以使用$ _GET方法获取id:

$id = $_GET['id']; $qry = "DELETE FROM booking1 WHERE id=$id"; //this will delete the row where id is 20