Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除foreach PHP中的每个项目_Php - Fatal编程技术网

删除foreach PHP中的每个项目

删除foreach PHP中的每个项目,php,Php,我有一个表,其中包含每个项目数组的。我想通过链接删除每个项目。在数据库中,表是“users”,行是“id” 表的PHP代码: <table class="blueTable"> <thead> <tr> <th>ID</th> <th>USER</th> <th>MAIL</th> </tr> </thead> <tfoot> <tr> &l

我有一个表,其中包含每个项目数组的
。我想通过链接删除每个项目。在数据库中,表是“
users
”,行是“
id

表的PHP代码:

<table class="blueTable">
<thead>
<tr>
<th>ID</th>
<th>USER</th>
<th>MAIL</th>
</tr>
</thead>
<tfoot>
<tr>
<td colspan="3">
<div class="links"><a href="#">&laquo;</a> <a class="active" href="#">1</a> <a href="#">2</a> <a href="#">3</a> <a href="#">4</a> <a href="#">&raquo;</a></div>
</td>
</tr>
</tfoot>
<tbody>

<?php
$query = $db->query("SELECT * FROM users ORDER by id");
echo "<tr>";
while($row = $query->fetch_array()){
    $id = $row['id'];
    echo "<tr>"; //put <tr> opening code inside, not outside of while()
    echo "<td>".$row['id']."</td>";
    echo "<td>".$row['username']."</td>"; //remove <tr></tr>
    echo "<td>".$row['email']."</td>"; //remove <tr></tr>
    echo "<td><a href='delete($id)'>Delete</a></td>"; //remove <tr></tr>
    echo "</tr>"; //close tr only once at the end
}
?>
</tbody>
</table>
我将删除链接用于:

<a href='delete($id)'>Delete</a>

我不知道您是否正在使用某种框架将url部分映射到函数参数,但您可以

甚至

然后使用
$\u REQUEST
检索参数


至少这会将参数发送到服务器。我不知道您是如何将函数映射到路由的,因此我不知道您是否获得了正确的url

我想你应该用这个来删除记录。在
循环中

<a href='?id=<?= $id ?>'>Delete</a>

我现在正在使用localhost,我在web服务器中没有这些文件。我没有使用框架。我建议避免对GET http请求进行删除。至少可以通过POST来实现这一点。您调用的函数可能与php文件类似。您必须知道如何调用href标签中的函数查找此链接,看起来好像您假设单击该链接调用您的Php函数。但是Php并不是这样的。另外,如果您在Php标记中围绕delete($id)调用,您将立即删除这些记录(在任何单击/激活链接之前),假设代码正常(这看起来是函数中的非对象引用)。它显示错误:致命错误:未捕获错误:在D:\Server\data\htdocs\sistema login\functions中不在对象上下文中时使用$this。php:175堆栈跟踪:#0 D:\Server\data\htdocs\sistema login\admin\home.php(2):include()#1{main}在第175行的D:\Server\data\htdocs\sistema login\functions.php中抛出现在显示:未捕获错误:调用未定义的函数connectDb(),您可以在
$dbh
变量中包含连接现在显示:致命错误:未捕获错误:调用bool上的成员函数bindParam()
The requested URL /sistema-login/admin/delete(5) was not found on this server.
<a href='?id=<?= $id ?>'>Delete</a>
if(isset($_REQUEST['id']) && !empty($_REQUEST['id']))
{
    $dbh = connectDb();
    $stmt = $dbh->prepare( "DELETE FROM users WHERE id =:id" );
    $stmt->bindParam(':id', $_REQUEST['id']);
    $stmt->execute();
}