php for loop中的html表单-编辑/删除按钮

php for loop中的html表单-编辑/删除按钮,php,html,form-submit,Php,Html,Form Submit,我试图在页面上显示用户保存到数据库中的事件,并添加编辑+删除按钮。我只使用html、css和php。我知道如何显示事件,但无法找到如何使按钮工作,因为显示数据在for循环中。我尽了很大的努力,但我不知道如何使它起作用。有人能帮我吗?我已经准备好接受全新的解决方案:-) 以下是表单代码的外观: for($i=0;$i<$count;$i++){ ?> <form action="<?php echo $_SERVER['PHP_SELF'];?

我试图在页面上显示用户保存到数据库中的事件,并添加编辑+删除按钮。我只使用html、css和php。我知道如何显示事件,但无法找到如何使按钮工作,因为显示数据在for循环中。我尽了很大的努力,但我不知道如何使它起作用。有人能帮我吗?我已经准备好接受全新的解决方案:-) 以下是表单代码的外观:

 for($i=0;$i<$count;$i++){    

     ?>
    <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
         <div class="form-row align-items-center">
           <div class="col-auto">
             <label class="sr-only" for="editTime">Time</label>
             <input type="time" name="editTime" class="form-control mb-2" value="<?php echo $times[$i]; ?>">
           </div>
           <div class="col-auto">
             <label class="sr-only" for="editEvent">Event</label>
             <textarea name="editEvent" rows="2" cols="35" id="text" class="form-control"><?php echo $events[$i]; ?></textarea>
           </div>

          <div class="col-auto">
             <input type="submit" class="btn btn-success mb-2" name="btnEdit" value="Edit">
             <input type="submit" class="btn btn-danger mb-2" name="btnDel" value="Delete">

          </div>   
         </div>
    </form>
    <br>
 <?php
    array_push($casy2, $_POST["editTime"]);   

  }
看起来像这样,我需要让按钮工作

检查是否已设置提交按钮

if (isset($_POST['btnEdit'])) {
    $newTime = $_POST['editTime'];
    $newEvent = $_POST['editEvent'];
    $idevent = $_POST['eventid'];
    $stmt=$mysqli->prepare("UPDATE events SET time= ?, event= ? WHERE ID = ?");
    $stmt->bind_param("ssi", $newTime,  $newEvent, $idevent);
    $stmt->execute();
    $stmt->close(); 
} elseif (isset($_POST['btnDel')) {
    $idevent = $_POST['eventid'];
    $stmt = $mysqli->prepare("DELETE FROM events WHERE ID = ?");      
    $stmt->bind_param("i", $idevent);
    $stmt->execute();
    $stmt->close();
}
您还需要添加带有事件ID的隐藏输入:

<input type="hidden" name="eventid" value="<?php echo $ids[$i]; ?>">

检查是否已设置任何提交按钮

if (isset($_POST['btnEdit'])) {
    $newTime = $_POST['editTime'];
    $newEvent = $_POST['editEvent'];
    $idevent = $_POST['eventid'];
    $stmt=$mysqli->prepare("UPDATE events SET time= ?, event= ? WHERE ID = ?");
    $stmt->bind_param("ssi", $newTime,  $newEvent, $idevent);
    $stmt->execute();
    $stmt->close(); 
} elseif (isset($_POST['btnDel')) {
    $idevent = $_POST['eventid'];
    $stmt = $mysqli->prepare("DELETE FROM events WHERE ID = ?");      
    $stmt->bind_param("i", $idevent);
    $stmt->execute();
    $stmt->close();
}
您还需要添加带有事件ID的隐藏输入:

<input type="hidden" name="eventid" value="<?php echo $ids[$i]; ?>">

只需像平常一样处理表单即可。如果设置了
btnEdit
,则编辑,与
btnDel
相同,只需将操作放在各自的if块上。另一种方法是使用
按钮
并使用
属性将id插入表单中的事件id在哪里?酒吧招待员-表单中没有提到它,我无法找到如何在那里使用它的方法,它可以帮助我。我直到星期一才解决这个问题。像平常一样处理表格就行了。如果设置了
btnEdit
,则编辑,与
btnDel
相同,只需将操作放在各自的if块上。另一种方法是使用
按钮
并使用
属性将id插入表单中的事件id在哪里?酒吧招待员-表单中没有提到它,我无法找到如何在那里使用它的方法,它可以帮助我。我直到星期一才解决这个问题。谢谢,效果很好:)我的问题是隐藏输入,谢谢,效果很好:)我的问题是隐藏输入