如何更改删除功能,以便删除特定用户而不是整个用户列表
P粉087074897
2023-09-05 19:14:48
<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>
问题是这段代码:
问题是,当您调用该页面时,您将直接删除用户,而不是打印删除页面的链接。
您需要创建一个单独的路由(如果您不使用框架,则需要创建一个.php文件),例如delete_user.php?user_id={your_user_id}或/{user_id}/delete(在框架场景中)
此路由/页面必须检查传入页面的用户是否存在广告,然后通过从数据库获取用户并调用
delete()
方法来删除它。之后,您的代码将类似于 php 框架场景中的以下内容:
或者在独立场景中像这样: