I have one problem. This code count very well a new message but the replay message is not showing the number. Ex: 10 messages ( 6 new message + 4 replay messages) Now is showing 6 message. Should show 10 message. The table is message with columns:
message_id | message_thread_code | message | sender | timestamp | read_status
The second table is message_thread with columns:
message_thread_id | message_thread_code | sender | reciever | last_message_timestamp
<!-- message number apper count per user // START -->
<?php
$current_user = $this->session->userdata('login_type') . '-' . $this->session->userdata('login_user_id');
$this->db->where('message_thread.reciever', $current_user);
$this->db->where('message.read_status', 0);
$this->db->from('message_thread');
$this->db->join('message', 'message.message_thread_code = message_thread.message_thread_code');
$unread_message_number = $this->db->count_all_results();
?>
<a href="<?php echo base_url();?>index.php?admin/message">
<i class="entypo-mail"></i>
Casuta mesaje
<span class="badge badge-secondary"><?php echo $unread_message_number; ?></span>
<!-- message number apper count per user // FINISH -->
The controller:
function count_unread_message_of_thread($message_thread_code) {
$unread_message_counter = 0;
$current_user = $this->session->userdata('login_type') . '-' . $this->session->userdata('login_user_id');
$messages = $this->db->get_where('message', array('message_thread_code' => $message_thread_code))->result_array();
foreach ($messages as $row) {
if ($row['sender'] != $current_user && $row['read_status'] == '0')
$unread_message_counter++;
}
return $unread_message_counter;
}