首页  >  问答  >  正文

如何更改删除功能,以便删除特定用户而不是整个用户列表

<p>我有一个注册到网站的用户列表,我想在按下删除链接时删除特定用户,但我遇到一个问题,即一旦我打开该网站的页面,所有用户都会被删除用户列表。</p> <p>这是用户列表,其中 <code>$users </code>是一个包含用户列表的数组:</p> <pre class="brush:php;toolbar:false;"><?php foreach($users as $user): ?> <tr> <th><?= $user->name ?></th> <td><?= $user->email ?></td> <td><a href="<?php $user->delete()>?">Delete</a></td> <td><a href="">Update</a></td> </form> </tr> <?php endforeach?></pre> <p>这里是<code>$user</code>的删除函数:</p> <pre class="brush:php;toolbar:false;">public function delete(){ $result=$this->db->delete("users","id={$this->id}"); return $result; }</pre> <p>这是数据库删除功能:</p> <pre class="brush:php;toolbar:false;">public function delete(string $table,string $where,int $limit=1){ return $this->connection->exec("DELETE FROM $table WHERE $where LIMIT $limit"); }</pre> <p>如何在按下“删除”链接时删除特定用户?!</p> <p>我尝试更改删除功能,但没有取得结果。</p>
P粉087074897P粉087074897379 天前579

全部回复(1)我来回复

  • P粉083785014

    P粉0837850142023-09-06 16:38:27

    问题是这段代码:

    <td><a href="<?php $user->delete()>?">Delete</a></td>

    问题是,当您调用该页面时,您将直接删除用户,而不是打印删除页面的链接。

    您需要创建一个单独的路由(如果您不使用框架,则需要创建一个.php文件),例如delete_user.php?user_id={your_user_id}或/{user_id}/delete(在框架场景中)< /p>

    此路由/页面必须检查传入页面的用户是否存在广告,然后通过从数据库获取用户并调用 delete() 方法来删​​除它。

    之后,您的代码将类似于 php 框架场景中的以下内容:

    <td><a href="http://www.example.com/<?php $user->id?>"/delete>Delete</a></td>

    或者在独立场景中像这样:

    <td><a href="http://www.example.com/delete_user.php?user_id=<?php $user->id?>">Delete</a></td>

    回复
    0
  • 取消回复