簡體   English   中英

無法獲取要從數據庫中刪除的消息行

[英]Cannot get message row to delete from database

我正在嘗試從數據庫中刪除消息行,這是一個大學項目的社交網站的一部分,但出現錯誤:嚴重性:通知消息:未定義索引: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'; }?>   

您編寫該視圖的方式是在調用視圖時不傳遞任何數據。 如果要在視圖中循環訪問數組,則必須從控制器傳遞數組。

您的控制器需要看起來更像以下內容:

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;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM