Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/08/2009, 13:02
phpeitor
 
Fecha de Ingreso: junio-2008
Mensajes: 24
Antigüedad: 18 años, 3 meses
Puntos: 0
Problema con funcion en XAJAX

Buenas a todos, he empezado a utilizar XAJAX para poder integrar php con ajax y tengo el siguiente problema:

Antes de que se llame a la funcion "pon_definicion" creo un array con numeros aleatorios y posteriormente yo quiero utilizar este array dentro de esa función. El problema es que cada vez que llamo a la función "pon_defincion" el array ya no contiene los mismo números, es como si volviera a empezar el código php desde el principio, y me hacía falta ajax para escribir el resultado de la consulta en una parte de la página, pero ahora me encuentro con este error y no sabría como solucionarlo.

Os dejo el código:

Código PHP:
<?php
    
require ('xajax/xajax_core/xajax.inc.php');

    
$xajax = new xajax();

    
//Creo un array aleatorio de IDS para cada letra
    
$letras=array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'L', 'M', 'N', 'Ñ', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'X', 'Y', 'Z');
    
$final=array();
    include(
'conexion.php');
    
    for(
$i=0; $i<count($letras); $i++){
        
$id=array(); //En ese array se guardarán los IDs de cada letra
        
        
$consulta="SELECT * FROM palabras WHERE letra='$letras[$i]'";
        
$lista=mysql_query($consulta);
        
$num=mysql_num_rows($lista);
        
        while(
$fila=mysql_fetch_row($lista))
        {
            
array_push($id, $fila[0]);
        }        
        
$aleatorio = rand(0,count($id)-1); //Genera un numero aleatorio de 0 a la longitud del array id menos 1
        
array_push($final, $id[$aleatorio]); //Guarda en el array final el ID de la palabra elegida al azar
    
}
    

    function 
pon_definicion($pos_letra){
        global 
$final;
        for(
$i=0; $i<count($final); $i++){
            
$consulta=$consulta." - ".$final[$i];
        }
        
           
$respuesta = new xajaxResponse();
                  
$respuesta->Assign("definicion","innerHTML",$consulta);

           return 
$respuesta;
    }

    
$xajax->register(XAJAX_FUNCTION, 'pon_definicion');

    
$xajax->processRequest();
?>
Si alguien puede echarme una mano muchas gracias.