consulta
Código PHP:
function getMensajes($type = 1, $unread = false ,$funread = true,$sunread = true){
$data = array();
// MONITOR DE MENSAJES SOLO SI HAY MAS DE 5 NUEVOS
if($type == 1) {
// SI HAY MAS DE 5 MENSAJES NUEVOS SOLO LEEMOS LOS NUEVOS
if($this->mensajes > 0 || $unread == true) {
$funread = "AND mp_read_mon_to = 0";
$sunread = "AND mp_read_mon_from = 0";
$limit = "";
} else {
$limit = "LIMIT 5";
}
$sql = "SELECT mp_id, mp_to, mp_from, mp_read_to, mp_subject, mp_preview, mp_date, user_name FROM u_mensajes AS m LEFT JOIN u_miembros AS u ON mp_from = user_id WHERE mp_to = '{$this->User->uid}' AND mp_del_to = 0 {$funread}";
$sql .= "UNION";
$sql .="SELECT mp_id, mp_to, mp_from, mp_read_from, mp_subject, mp_preview, mp_date, user_name user_name FROM u_mensajes AS m LEFT JOIN u_miembros AS u ON mp_to = user_id WHERE mp_from = '{$this->User->uid}' AND mp_del_from = 0 AND mp_answer = 1 {$sunread}) ORDER BY mp_id DESC";
// CONSULTA
$query = $this->ejecutarConsulta($sql);
$data['total'] = 0;
while($row = $this->fetch_assoc($query)){
$row['mp_from'] = ($row['mp_from'] == $this->User->uid) ? $row['mp_to'] : $row['mp_from'];
$data['data'][$row['mp_date']] = $row;
// AHORA ACTUALIZAMOS PARA QUE NO SE VUELVAN A NOTIFICAR EN EL MONITOR
if($this->User->uid == $row['mp_to']) $update = 'mp_read_mon_to = 1';
else $update = 'mp_read_mon_from = 1';
$this->update("u_mensajes","{$update}","mp_id = {$row['mp_id']}");
//
$data['total']++;
}
$this->free($query);
// RESIBIDOS
} elseif($type == 2){
// MOSTRAR LOS NO LEIFOS
if($unread == true){
$funread = "AND mp_read_to = 0";
$sunread = "AND mp_read_from = 0";
}
// CONSULTA
$sql = "SELECT mp_id, mp_to, mp_from, mp_read_to, mp_subject, mp_preview, mp_date, user_name FROM u_mensajes AS m LEFT JOIN u_miembros AS u ON mp_from = user_id WHERE mp_to = '{$this->User->uid}' AND mp_del_to = 0 {$funread}";
$sql .= "UNION";
$sql .="SELECT mp_id, mp_to, mp_from, mp_read_from, mp_subject, mp_preview, mp_date, user_name user_name FROM u_mensajes AS m LEFT JOIN u_miembros AS u ON mp_to = user_id WHERE mp_from = '{$this->User->uid}' AND mp_del_from = 0 AND mp_answer = 1 {$sunread}) ORDER BY mp_id DESC";
$total = $this->num_rows($this->ejecutarConsulta($sql));
$pages = $this->Util->getPagination($total, 12);
$data['pages'] = $pages;
// CONSULTA
$query = $this->ejecutarConsulta($sql.' LIMIT '.$pages['limit']);
while($row = $this->fetch_assoc($query)){
// PARA SABER SI ES RESPUESTA O MENSAJE NORMAL
$row['mp_type'] = ($row['mp_from'] != $this->User->uid) ? 1 : 2;
$row['mp_from'] = ($row['mp_from'] == $this->User->uid) ? $row['mp_to'] : $row['mp_from'];
$data['data'][$row['mp_date']] = $row;
}
$this->free($query);
// ENVIADOS POR MI
}elseif($type == 3){
$sql = "SELECT m.mp_id, m.mp_to, m.mp_read_to, m.mp_subject, m.mp_preview, m.mp_date, u.user_name FROM u_mensajes AS m LEFT JOIN u_miembros AS u ON m.mp_to = u.user_id WHERE m.mp_from = {$this->User->uid} ORDER BY m.mp_id DESC";
// PAGINAR
$total = $this->num_rows($this->ejecutarConsulta($sql));
$pages = $this->Core->getPagination($total, 12);
$data['pages'] = $pages;
// CONSULTA
$query = $this->ejecutarConsulta($sql.' LIMIT '.$pages['limit']);
while($row = $this->fetch_assoc($query)){
$row['mp_type'] = 2;
$row['mp_from'] = $row['mp_to'];
$row['mp_read_to'] = 1;
$data['data'][$row['mp_date']] = $row;
}
$this->free($query);
// RESPONDIDOS POR MI
}elseif($type == 4){
$sql = "SELECT m.mp_id, m.mp_from, m.mp_read_from, m.mp_subject, m.mp_preview, m.mp_date, u.user_name FROM u_mensajes AS m LEFT JOIN u_miembros AS u ON m.mp_from = u.user_id WHERE m.mp_to = '{$this->User->uid}' AND m.mp_answer = 1 ORDER BY m.mp_id DESC";
// PAGINAR
$total = $this->num_rows($this->ejecutarConsulta($sql));
$pages = $this->Core->getPagination($total, 12);
$data['pages'] = $pages;
// CONSULTA
$query = $this->ejecutarConsulta($sql.' LIMIT '.$pages['limit']);
while($row = $this->fetch_assoc($query)){
$row['mp_type'] = 1;
$row['mp_read_to'] = 1;
$data['data'][$row['mp_date']] = $row;
}
$this->free($query);
}
// ORDENAR Y RETORNAR
krsort($data['data']);
return $data;
}
Código PHP:
Warning: mysql_free_result() expects parameter 1 to be resource, boolean given in C:xampphtdocsredsocial.comsystemdatabaseConexion_Mysql.php on line 404
Warning: krsort() expects parameter 1 to be array, null given in C:xampphtdocsredsocial.comappmodelosMensajes.php on line 221
Warning: mysql_free_result() expects parameter 1 to be resource, boolean given in C:xampphtdocsredsocial.comsystemdatabaseConexion_Mysql.php on line 404