PHP - Guardar Conversaciones Chat en Php

   
Vista:

Guardar Conversaciones Chat en Php

Publicado por José Manuel (4 intervenciones) el 14/10/2015 12:39:26
Hola buenas tengo una aplicación web en php, De chat de mensajes. Donde el emisor escribe el mensaje al receptor y se muestra una pantalla a modo de chat con sus conversaciones respectivas.

Y necesito que al eliminar la conversación el otro usuario tenga una copia, es decir si el usuario1 borra la conversación se le oculta. Y el usuario2 se le sigue mostrando.

Estructura tabla:

1
2
3
4
5
6
7
8
9
10
CREATE TABLE IF NOT EXISTS `tblmensajes` (
  `id` int(11) NOT NULL, // ID DE LA CONVERSACIÓN
  `para` varchar(180) NOT NULL, // RECEPTOR DEL MENSAJE
  `de` varchar(180) NOT NULL,// EMISOR DEL MENSAJE
  `leido` int(1) NOT NULL, // CONTROL PARA SABER SI SE HA LEIDO
  `fecha` date NOT NULL,//FECHA
  `texto` text NOT NULL,// CONVERSACION 
  `eliminadode` tinyint(1) NOT NULL DEFAULT '1',// CONTROL PARA OCULTAR CONVERSACION 
  `eliminadopara` tinyint(1) NOT NULL DEFAULT '1'//CONTROL PARA OCULTAR CONVERSACION 
) ENGINE=InnoDB AUTO_INCREMENT=214 DEFAULT CHARSET=latin1;


Con esto recorro la tabla



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
foreach ($us3 as $key => $value) {
	if($value->getDe()==$de){
		echo" <article class='de' style='float:right;background-color:rgb(255,128,0);"
		. " width=200px!important;'><h4>Yo</h4>"
		. "<span>".$value->getTexto()."</article>";
	}
 
 
	if($value->getPara()==$de){
		echo" <article class='para' style='float:left;background-color:rgb(0,128,255);'><h4>".$nombrePara."</h4>"
		. "<span>".$value->getTexto()."</span></article>";
 
	}
 
}

Y se muestra la conversacion de ambos.


Y aquí la consulta sql :


1
$sql = "select * from " . $this->nombreTabla . " where para='" . $para . "' and de='".$de."' or para='".$de."' and de='".$para."' and leido=0  $orderby";



Pensé lo de los controles eliminarde y eliminarpara para ocultarlos. Pero no sé como implementarlos. Necesito ayuda anda perdido. Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Guardar Conversaciones Chat en Php

Publicado por xve (5523 intervenciones) el 14/10/2015 19:39:58
Hola José manuel, segun veo, esta consulta engloba los dos usuarios, pero no separas los or o los and... yo haria algo así:

1
2
$sql = "select * from " . $this->nombreTabla . "
where (para='" . $para . "' or para='".$de."') and (de='".$de."' or de='".$para."') and leido=0  $orderby";

aunque no se muy bien para que la utilizas, te sirve?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Guardar Conversaciones Chat en Php

Publicado por José Manuel (4 intervenciones) el 15/10/2015 09:03:12
Muchas gracias tío jejej
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar