Devo estrarre casualmente dei numeri (degli id) da un db, allora faccio eseguire un rand(), dove imposto i valori minimi e massimi del range (controllando l'id più piccolo e l'id più alto - sono id numerici). Però ho bisogno anche di controllare nel contempo che l'id "casuale" effettivamente esista, quindi ho bisogno di rendere la funzione ricorsiva, in modo tale che se l'id casuale non esiste nel db, php ne generi un altro diverso.

Ora, il codice in sè mi funziona (su db Mysql), ma se provo a metterlo dentro a una funzione poi non elabora. E non riesco a capire perchè: sapreste suggerirmi un possibile motivo?

Ecco il codice:
Codice PHP:
$_CONFIG['host'] = "localhost";
$_CONFIG['user'] = "***";
$_CONFIG['pass'] = "*****************************************************";
$_CONFIG['dbname'] = "test";

$conn mysql_connect($_CONFIG['host'], $_CONFIG['user'], $_CONFIG['pass']) 
  or die(
'Impossibile stabilire una connessione');
mysql_select_db($_CONFIG['dbname']);

function 
random_number()
{

$query "SELECT MIN(id) FROM rand";
$mysql_query mysql_query($query); #query da datbase, ricavo il primo id
$array mysql_fetch_array($mysql_query);
$min $array['0']; #valore minimo del range in cui estrarre il numero casuale


$sql "SELECT MAX(id) FROM rand";
$sql_query mysql_query($sql); #query da datbase, ricavo l'ultimo id
$arra mysql_fetch_array($sql_query);
$max $arra['0']; #valore massimo del range in cui estrarre il numero casuale

$query_2 mysql_query("SELECT id FROM rand");
$f mysql_fetch_array($query_2);

$rand rand($min$max);

#ancora nn mi funziona il codice prima, a questa parte ci penso dopo
#if ( in_array($rand, $f) )
#  {echo $rand;}
#else 
#  { random();}
}

#qua funziona
$prova "SELECT id FROM rand";
$query mysql_query($prova);
while(
$f mysql_fetch_array($query))
  {echo 
"$f[0]\n";}

$query "SELECT MIN(id) FROM rand";
$mysql_query mysql_query($query); #query da datbase, ricavo il primo id
$array mysql_fetch_array($mysql_query);
$min $array['0']; #valore minimo del range in cui estrarre il numero casuale

echo "min -> $min\n";

$sql "SELECT MAX(id) FROM rand";
$sql_query mysql_query($sql); #query da datbase, ricavo l'ultimo id
$arra mysql_fetch_array($sql_query);
$max $arra['0']; #valore massimo del range in cui estrarre il numero casuale

echo "max -> $max\n";

$query mysql_query("SELECT id FROM rand");
$f mysql_fetch_array($query);

$rand_0 rand($min$max);
echo 
"rand_0 -> $rand_0\n";


$rand random_number();
echo 
"rand -> $rand\n";

?>