PHP - que campos le pondrian a una tabla para un chat privado?

   
Vista:
Imágen de perfil de Alejandro

que campos le pondrian a una tabla para un chat privado?

Publicado por Alejandro (33 intervenciones) el 27/04/2014 03:42:29
Hola comunidad, veran, ya logre enviar los mensajes, el chat ya esta casi listo, el unico que problema que tengo es que, los mensajes nunca logre que se imprimieran por fecha, ya que hacia dos consultas; una para los mensajes que me enviaban a mi, y otra donde yo enviaba los mensajes, y como eran dos consultas diferentes, tenia que imprimir las consultas diferente, y por ende no pude lograr ordenar los mensajes de la conversacion.
Ahora mi pregunta es, ¿Que campos le pondrian a la tabla para un chat privado?, porque yo pienso que tal vez mi error fue al momento de crear la tabla.

Agradezco su atencion.
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

que campos le pondrian a una tabla para un chat privado?

Publicado por xve (5519 intervenciones) el 27/04/2014 11:03:41
Hola Alejandro, que campos tienes actualmente?

Se me ocurre:
id => id de la tabla
idChat => id que hace referencia al chat o sala donde estan conectados los usuarios
Fecha => fecha del mensaje
Usuario => usuario
Mensaje => contenido del mensaje

Espero que te sirva... coméntanos, ok?
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
Imágen de perfil de Alejandro

que campos le pondrian a una tabla para un chat privado?

Publicado por Alejandro (33 intervenciones) el 27/04/2014 16:14:44
ok, intentare hacerlo con esos campos que me diste. Y mi tabla la tenia de este modo.

id
Mensaje - Contenido
Para_user - El usuario al que se le enviara el mensaje
De_user - El usuario que envia el mensaje
Fecha - Fecha

Lo que veo que me falto fue el idChat, ya que ahorita que lo pienso es un campo importante para poder hacer la sala. Muchas gracias
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
Imágen de perfil de xve

que campos le pondrian a una tabla para un chat privado?

Publicado por xve (5519 intervenciones) el 27/04/2014 19:13:38
En principio seria lo mismo el idChat que el Para_user, pero en un chat, no solo hay un usuario destino, sino que todos los usuarios de una sala, no?
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
Imágen de perfil de Alejandro

que campos le pondrian a una tabla para un chat privado?

Publicado por Alejandro (33 intervenciones) el 28/04/2014 00:21:45
si, cuando estaba haciendo el codigo me di cuenta que idChat es lo mismo que Para_user.
El chat quiero que sea privado, es decir, que solamente yo y otra persona podamos chatear, asi como facebook. Lamentablemente no he logrado hacerlo correctamente, aun sigo batallando con la ordenacion.
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
Imágen de perfil de xve

que campos le pondrian a una tabla para un chat privado?

Publicado por xve (5519 intervenciones) el 28/04/2014 08:04:41
Alejandro, nos puedes adjuntar los archivos para poder probarlo?
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
Imágen de perfil de Alejandro

que campos le pondrian a una tabla para un chat privado?

Publicado por Alejandro (33 intervenciones) el 28/04/2014 22:32:03
Hola que tal, aqui esta los archivos adjuntos. Acabo de descubrir otro error; los mensajes no se muestran hasta que el usuario le conteste, solo hasta que el usuario le conteste, se muestra todo el historial de mensajes pero sin ordenacion, solo tengo esos dos errores.
Para poder chatear tienes que registrarte, y tienes que igresar un correo al cual tengas acceso, ya que pide que verifiques tu correo para valdiar la cuenta. Tambien hay que crear las dos bases de datos y modificar el usuarios y contraseña de para conectarte a mysql.

Base de datos master.

Tabla usuarios
1
2
3
4
5
6
7
8
9
10
11
CREATE TABLE usuarios(id INT UNSIGNED AUTO_INCREMENT,
Usuario VARCHAR(20) NOT NULL,
Email VARCHAR(50) NOT NULL,
Password VARCHAR(40) NOT NULL,
Edad TINYINT UNSIGNED NOT NULL,
Sexo CHAR(1) NOT NULL,
Pais VARCHAR(50) NOT NULL,
Activacion VARCHAR(40) NOT NULL DEFAULT '0',
Activacion_checada VARCHAR(40) NOT NULL DEFAULT '0',
Imagen VARCHAR(75) NOT NULL,
PRIMARY KEY (id));


Tabla mensajes
1
CREATE TABLE mensajes(id INT UNSIGNED AUTO_INCREMENT, Mensaje TEXT NOT NULL,Para_user VARCHAR(20) NOT NULL, De_user VARCHAR(20) NOT NULL, Fecha TIME NOT NULL, PRIMARY KEY (id));

archivos adjuntos.
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
Imágen de perfil de Alejandro

que campos le pondrian a una tabla para un chat privado?

Publicado por Alejandro (33 intervenciones) el 29/04/2014 02:40:28
Se me olvido decir, que solo la pestaña, nuevo mensaje es la unica que funciona para el chat
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
Imágen de perfil de xve

que campos le pondrian a una tabla para un chat privado?

Publicado por xve (5519 intervenciones) el 29/04/2014 11:27:03
Hola Alejandro, he intentado probarlo, pero en el formulario de registro me da un error, ya que necesito la tabla "Pais"... al solicitar el país se queda con el error.

Nos la puedes adjuntar?
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
Imágen de perfil de Alejandro

que campos le pondrian a una tabla para un chat privado?

Publicado por Alejandro (33 intervenciones) el 29/04/2014 17:24:19
Perdon, se me habia olvidado

1
2
3
4
5
CREATE TABLE pais(
		id_pais INT NOT NULL AUTO_INCREMENT,
		Pais VARCHAR(50) NOT NULL,
		PRIMARY KEY(id_pais)
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
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
Imágen de perfil de Alejandro

que campos le pondrian a una tabla para un chat privado?

Publicado por Alejandro (33 intervenciones) el 02/05/2014 23:53:32
Listo, ya pude arreglar el problema, el chat ya sirve, gracias de todo modos por tu ayuda.
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
Imágen de perfil de xve

que campos le pondrian a una tabla para un chat privado?

Publicado por xve (5519 intervenciones) el 03/05/2014 10:33:39
Hola Alejandro, te pido disculpas, no me di cuenta que habías publicado la estructura de la base de datos...

Nos puedes compartir el código solucionado para probarlo?
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
Imágen de perfil de Alejandro

que campos le pondrian a una tabla para un chat privado?

Publicado por Alejandro (33 intervenciones) el 03/05/2014 17:08:41
base de datos master

tabla usuarios (actualizada)
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE TABLE usuarios(
id INT UNSIGNED AUTO_INCREMENT,
Usuario VARCHAR(20) NOT NULL,
Email VARCHAR(50) NOT NULL,
Password VARCHAR(40) NOT NULL,
Edad TINYINT UNSIGNED NOT NULL,
Sexo CHAR(1) NOT NULL,
Pais VARCHAR(50) NOT NULL,
Activacion VARCHAR(40) NOT NULL DEFAULT '0',
Activacion_checada VARCHAR(40) NOT NULL DEFAULT '0',
Imagen VARCHAR(75) NOT NULL,
Estado TINYINT UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (id));


tabla mensajes (actualizada)
1
2
3
4
5
6
7
8
9
CREATE TABLE mensajes(
id INT UNSIGNED AUTO_INCREMENT,
Mensaje TEXT NOT NULL,
Para_user VARCHAR(20) NOT NULL,
De_user VARCHAR(20) NOT NULL,
idChat VARCHAR(45) NOT NULL,
Fecha DATE,
Hora TIME,
PRIMARY KEY (id));


1
2
3
4
CREATE TABLE pais(
id_pais INT NOT NULL AUTO_INCREMENT,
Pais VARCHAR(50) NOT NULL DEFAULT 'Desconocido',
PRIMARY KEY(id_pais) )ENGINE=MyISAM DEFAULT CHARSET=latin1;


Por el momento solo sirve la pestaña nuevo mensaje, pero con esa pestaña hace la funcionalidad de como si fuera un inbox, algo asi como facebook.
Lo unico que falta es actualizar la pagina cuando lleguen nuevos mensajes sin necesidad de refrescar toda la pagina.
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
Imágen de perfil de Alejandro

que campos le pondrian a una tabla para un chat privado?

Publicado por Alejandro (33 intervenciones) el 03/05/2014 18:30:20
reemplaza la linea 486 del documento perfil.php, por esta:
1
$sql2 = "SELECT Mensaje,De_user,idChat,Fecha,Hora FROM mensajes WHERE De_user='$user2' AND Para_user='$user' AND Fecha!='NULL' ORDER BY Fecha DESC,Hora DESC LIMIT 0,1 ";

y tambien la linea 481 del mismo documento, por esta:
1
$sql = "SELECT DISTINCT De_user FROM mensajes WHERE De_user!='$user'";
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