bene bene bene! la cosa sembra funzionare!
a tutti coloro che volessero implementare, migliorare o deridere ( ) questa simpaticissima funzione Ricorsiva per la stampa del menu da database in formato XML....riporto il mio operato, spero possa essere di aiuto a qualcuno! sayonara!
PS: il tutto è stato fatto per gestire da database, in modo ricorsivo, un menu in flash dinamico.
PPS: SE LO UTILIZZATE mandatemi una mail a michelewt@hotmail.it
codice:
<?
//definisco la funzione RICORSIVE Menu
function menu($query1,$nome1,$db)
{
print "<menu name=\"$nome1\"> ";
$result1 = mysql_query($query1,$db);
while($row1 = mysql_fetch_array($result1))
{
$queryS = "SELECT * FROM menu WHERE livello='$row1[nome]' ORDER BY posizione";
$resultS = mysql_query($queryS,$db);
$totRighe = mysql_num_rows($resultS);
if($totRighe==0)
{
print"<item name=\"$row1[nome]\" action=\"gotoURL\" variables=\"$row1[link]\"/> ";
}
else
{
$nome2=$row1['nome'];
$query2="SELECT * FROM menu WHERE livello='$nome2'";
menu($query2,$nome2,$db);
}
}
print "</menu>";
}
//include config
include"../config.inc.php";
//connessione a MySQL
$db = mysql_connect($db_host,$db_user,$db_password);
//verifica se la connessione è andata a buon fine
if ($db==FALSE) die("Errore nella connessione a MySQL");
//connessione al database specifico
mysql_select_db($db_name,$db)
or die("Errore nella selezione del database");
print"<?xml version=\"1.0\"?>";
//definizione della query
$queryM="SELECT * FROM menu WHERE livello='root' ORDER BY posizione";
$nomeM="menu";
menu($queryM,$nomeM,$db);
mysql_close($db);
?>