Foros del Web » Programando para Internet » PHP »

Refrescar contenido PHP sin recargar página

Estas en el tema de Refrescar contenido PHP sin recargar página en el foro de PHP en Foros del Web. Hola a todos, tengo una pequeña duda que espero que me ayudeis a solucionar. Mediante PHP y SQL, extraigo de una base de datos el ...
  #1 (permalink)  
Antiguo 11/11/2012, 18:11
Avatar de Adbane  
Fecha de Ingreso: junio-2011
Mensajes: 86
Antigüedad: 12 años, 10 meses
Puntos: 6
Pregunta Refrescar contenido PHP sin recargar página

Hola a todos, tengo una pequeña duda que espero que me ayudeis a solucionar.

Mediante PHP y SQL, extraigo de una base de datos el contenido que quiero, en este caso, nombre y comentarios, luego lo vuelco en la página. A través de un formulario en la página, se ingresa ese contenido y lo envia a la base de datos, usando method post enviando ese contenido al archivo "insert.php", este archivo recopila la información, la envia al form y luego redirecciona de nuevo a la página, viendose el comentario añadido ya que al redireccionar, la página ha cargado de nuevo justo después de guardarse el contenido en la BD. Hasta aquí todo bien, lo que me gustaría ahora es que mientras se está en la página, los comentarios e vayan actualizando en caso de que otra persona publicara uno.

El código es este (una parte de él, pues no es precisamente necesario toda):
Código PHP:
$cn=mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_DB);
        
    
$sql"SELECT nombre,comentario FROM comentarios ORDER BY id DESC";    
    
$rs=mysqli_query($cn,$sql);
    if(!
$rs){exit("Error de conexión ".mysqli_error($cn));}
    
mysqli_close($cn);
    
    
$comentarios=array();
    while(
$fila=mysqli_fetch_array($rs)){
        
$comentarios[]=$fila;
    }

$opcionesListaComentarios=array();
    foreach(
$comentarios as $fila){
         
$opcionesListaComentarios[]="<div class='comment'><h4>{$fila[0]}</h4><p>{$fila[1]}</p></div>";
    }
    
$opcionesListaComentarios=implode("\n",$opcionesListaComentarios); 
Y en el html:
Código HTML:
<article id="conversation">
	<?php
		echo $opcionesListaComentarios;
	?>
</article> 
La idea es sencilla, algún modo de actualizar regularmente el article "#conversation" (que raro no decir div xD) sin necesidad de recargar toda la página. Tuve la ocurrencia de mediante SetInverval (JavaScript) usar un $("#conversation").html(); para insertar el mismo código php que llama todo el rato a $opcionesListaComentarios, pero ya me dí cuenta como un tonto que Javascript no trabaja con PHP xD

Muchos dicen que se puede mediante Javascript y Ajax, pero pasa que yo de Ajax no sé nada, y no quiero meterme a estudiarlo ahora, teniendo en cuenta que esto prefiero acabarlo cuanto antes, mejor, sin prisas, pero sin complicarse más. Sé que con PHP se debe poder de algún modo, pero no sé cómo, así que agradecería vuestra ayuda.

Gracias de antemano :D
__________________
Diseñador web por amor al arte, o al HTML mejor dicho
  #2 (permalink)  
Antiguo 11/11/2012, 18:38
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Refrescar contenido PHP sin recargar página

Cita:
Iniciado por Adbane Ver Mensaje
Muchos dicen que se puede mediante Javascript y Ajax
ahí tu mismo te diste tu respuesta, ya que para conexión asincronica con el server para obtener cambios sin recargar la pagina se utiliza ajax, ya es tu decisión si lo aprendes a usar o no, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 12/11/2012, 17:44
Avatar de Adbane  
Fecha de Ingreso: junio-2011
Mensajes: 86
Antigüedad: 12 años, 10 meses
Puntos: 6
Respuesta: Refrescar contenido PHP sin recargar página

Bueno, solucionado, mediante Javascript y Ajax, como tenía que ser xD Eso sí, con un código copiado, simple y sencillo, pero tocará estudiarlo a fondo para entenderlo. Funcionar si funciona, perfectamente :)
__________________
Diseñador web por amor al arte, o al HTML mejor dicho

Etiquetas: contenido, formulario, html, mysql, página, refrescar, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 17:19.