Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/05/2013, 00:31
jontxu6
 
Fecha de Ingreso: mayo-2013
Mensajes: 6
Antigüedad: 11 años
Puntos: 0
Respuesta: consulta mysql que se repita cada X segundos

Pondré parte del código que llebo hecho, haber si así me podeis orientar algo más, porque mis conociminetos de Ajax son nulos, se que existe y poco mas

Bien, en la página inicial, es donde tengo el div que deseo actualizar si cambiase la variable en base de datos. Como no conocía otra forma, tiré de los recursos que tengo y lo hice con un sistema de variables de sesión, pero si se os ocurre alguna otra forma, lo agradecería muchisimo. Aquí dejo el código.

El div en cuestión sería "alerta".

Código:
<?php session_start();
require_once("scripts/conexion.php");
?>
<html>
<head>
<?php require_once("scripts/retar.php"); ?>
</head>
<body>
<div id="alerta"><?php 
if(!isset($_SESSION['idUsuarioRetante'])){
?>
<h1>Estás desactivado</h1>
<?php
}
else{
?>
<h1>Estás activado</h1>

<?php
}
?>
</body>
</html>
Y desde el script incluido arriba, hacía la consulta y guardaba las variables de sesión necesarias para la actualización (reitero que si teneis cualquier otra idea que no sea con sesion, agreadeceré que me la indiqueis).

Este es el php en cuestión:

Código PHP:
<?php
            
//DESDE ESTA COMPRUEBO EL ESTADO
        
$id_usuario=$_SESSION['id'];
        
$result mysql_query ("select * from retos where usuario1 = '$id_usuario'" )
        or die(
"Error en la consulta SQL");
        
$total mysql_num_rows($result);
        
$row mysql_fetch_array $result );
        if(
$total!=0){
             
$id_usuarioRetante=$row["usuario2"];
            
$result2=mysql_query("select * from usuarios where id = '$id_usuario'")
            or die (
"Error en la segunda consulta SQL");    
            
$row2=mysql_fetch_array($result2);
            
            
            
$_SESSION['idUsuarioRetante']=$id_usuarioRetante;
            
$_SESSION['usuarioRetante']=$row['nombre'];
        }
        else{
            if(isset(
$_SESSION['idUsuarioRetante'])){
            
$_SESSION['idUsuarioRetante']="";
            }
            if(isset(
$_SESSION['usuarioRetante'])){
            
$_SESSION['usuarioRetante']="";
            }

        }
?>
El sistema es, se consulta a la base de datos si existe algún registro en la tabla retos para el usuario que tiene la sesión iniciada. Si devuelve algún valor, implica que existe un reto, así que se consulta cual es el otro usuario implicado, se guarda el nombre del mismo en una variable de sesión y se informa al usuario original mediante la alerta de marras.

Os agradezco mucho vuestra ayuda, si necesitáis que aclare cualquier otra cosa, decidmelo por favor.
Un saludo!!