Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/05/2014, 00:27
helion
 
Fecha de Ingreso: mayo-2010
Mensajes: 215
Antigüedad: 14 años
Puntos: 4
Pregunta chat en tiempo real con cierta falla

hola ... veran estuve inspeccionando algo sobre como hacer actualizacion del chat en tiempo real ... y evitar el refresh y encontre este codigo ...


php:

Código PHP:
<?php session_start();
$config['db_host'] = 'localhost';
    
$config['db_name'] = '';
    
$config['db_user'] = '';
    
$config['db_pass'] = '';
$link = @mysql_connect($config['db_host'],$config['db_user'],$config['db_pass'])or die ('Ha fallado la conexi&oacute;n');
@
mysql_select_db($config['db_name'], $link)or die ('Error al seleccionar la Base de Datos');?>
<?php 

ob_start
();
set_time_limit(0);
for(;;)
{
    
    
$rs=mysql_query('SELECT * FROM chat_mensajes WHERE IDMensaje>' $id ' AND WEEK(DatFecha,1)=WEEK(NOW(),1) AND YEAR(DatFecha)=YEAR(NOW()) ORDER BY IDMensaje')
or die (
'No se puede realizar la consulta');

if(
mysql_num_rows($rs)>0)
{
while(
$fila=mysql_fetch_array($rs,MYSQL_ASSOC)) {
    
    
$id=$fila["IDMensaje"];
    
    echo 
'<div>\n';
echo 
'<span>' $fila["DatFecha"] . ' ' '</span>';
echo 
'<span>' $fila["StrUsuario"] . '&gt;</span>';
echo 
'<span>' $fila["StrMensaje"] . '</span>';
echo 
'</div>\n';
}

echo 
'<script>scrollTo(0,999999999);</script>\n';
ob_flush();
flush(); 
}
sleep(3);
}
?>
con la tabla siguiente ... "chat_mensajes.sql"

Código PHP:
/*
Navicat MySQL Data Transfer

Source Server         : server
Source Server Version : 50051
Source Host           : localhost:3306
Source Database       : pokemon

Target Server Type    : MYSQL
Target Server Version : 50051
File Encoding         : 65001

Date: 2014-05-07 01:25:01
*/

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- 
Table structure for `chat_mensajes`
-- ----------------------------
DROP TABLE IF EXISTS `chat_mensajes`;
CREATE TABLE `chat_mensajes` (
  `
IDMensajeint(11) default NULL,
  `
DatFechadatetime default NULL,
  `
StrUsuariovarchar(20) default NULL,
  `
StrMensajevarchar(100) default NULL
ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- ----------------------------
-- 
Records of chat_mensajes
-- ----------------------------
INSERT INTO `chat_mensajesVALUES ('1''2014-05-06 01:09:18''sim''fff2');
INSERT INTO `chat_mensajesVALUES ('2''2014-05-07 01:09:14''sim2''sss');
INSERT INTO `chat_mensajesVALUES ('3''2014-05-07 01:09:09''sim3''asd'); 
lo que hace es dar solo el nuevo contenido, dejando lo que ya mostro y asi evitamos que cargue tooooooodo desde 0 ...

pero donde lo encontre parece que no quisieron dejar el codigo sin error porque al parecer cuando lo pruebo me carga los 3 mensajes ilimitadamente ...

hay alguien que podria echarme una mano porfavor... se lo agradeceria

Última edición por Triby; 07/05/2014 a las 05:15 Razón: Quitar configuración de fuente