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();
?>