gpt4 book ai didi

php - 无法获取要从数据库中删除的消息行

转载 作者:行者123 更新时间:2023-11-29 14:08:09 24 4
gpt4 key购买 nike

作为大学项目社交网站的一部分,我尝试从数据库中删除消息行,但收到​​错误:严重性:通知消息:在我看来,未定义索引:id。非常感谢任何帮助!!!!

This is my method in the Model:

function delMessage($id)
{

$this->db->where(array('id' => $id));
$this->db->delete('messages');

}

This is my method in my Controller:

function delMessage($id) {

$this->messages->delMessage($id);

redirect('message');

}

And this is the code in my view:

if(!empty($messages)){
foreach($messages as $message):
$delete = $message['id'];
var_dump($message); ?>
<li><?=$message['from']?> says...: "<?=$message['message']?>"(<?=anchor("message/delMessage/$delete", 'delete')?>)</li>
<?php endforeach?>
<?php }else{ ?>

<?php echo 'No Messages to View'; }?>

最佳答案

您编写此代码的方式是调用 View 而不向其传递任何数据。如果您要在 View 中循环遍历数组,则必须从 Controller 传递该数组。

您的 Controller 需要看起来更像以下内容:

function delMessage($username) {
$this->load->model('messages_model');
$data['messages'] = $this->messages->deleteUserMessage($username);
$this->load->view('message', $data);
}

为了使其发挥作用,您的模型必须做的不仅仅是删除。它还必须查询数据库并返回数组 $messages。

我可以尝试为您提供更多帮助,但查看您的代码我无法弄清楚您想要做什么。您已经分配了变量 $delete,但您从未使用过它。您在每个循环上转储数组,并且每次都回显“from”。在这一点上,这就像埃及象形文字。请提供更多信息。

根据提供的新信息进行更新:

function deleteUserMessage($username) {
$this->db->where('from', $username);
$this->db->or_where('to', $username);
$query = $this->db->get('messages');
if ($query->num_rows() > 0){
$messages = $query->result_array();
$this->db->where('from', $username);
$this->db->or_where('to', $username);
$this->db->delete('messages');
return $messages;
}
}

关于php - 无法获取要从数据库中删除的消息行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14025662/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com