ordinare i risultati di una query

gasparroa

Utente Attivo
4 Dic 2008
57
0
0
nella tabella menu ho due campi

xxxx,aaaa

nella tabella link ho 5 campi due associati a xxxx e 3 associati a aaaa

il risultato della query vorrei che fosse una cosa del genere


xxxx
->1111
->2222
->3333
aaaa
->4444
->5555

come posso fare???

questa è la query
PHP:
<table align="center" width="100%"> 
<?php 
$sqlmenu="SELECT * FROM menu JOIN link_menu ON menu.idmenu  = link_menu.idmenu ORDER BY link_menu.nome_link ASC"; 
$resmenu = mysql_query($sqlmenu) or die("Impossibile caricare i menu: ".mysql_error()); 

while ($rowmenu = mysql_fetch_array($resmenu)) 
            { 
            ?> 
            
            <tr> 
                <td><?php echo $rowmenu['menu']." ".$rowmenu['nome_link']; ?></td> 
            </tr> 
     <?php 
} 
?> 
</table>

Il risultato della query è questo

aaaa a
aaaa aaaa
asas Anno 2006
asas Anno 2007
asas Anno 2008


io vorrei che il risultato fosse

aaaa(menu)
a(link)
aaaa(link)

poi

asas(menu)
anno 2006(link)
anno 2007(link)
anno 2008(link)


come devo fare per stampare

menu1 con sotto il link collegati
menu2 con link (ecc)
 
ti fai una query su menu ed estrai gli id che uni nel ciclo per effettuare una query su link per ogni id estratto
 
io ho fatto cosi ma non funzionava

PHP:
<table align="center" width="100%">
<?php 
$sqlmenu = "select * from menu order by ordine asc";
$resmenu = mysql_query($sqlmenu) or die("Impossibile caricare i menu: ".mysql_error());
?>
<?php 
	while ($rowmenu = mysql_fetch_array($resmenu))
			{
	?> 
<tr>
   	<td height="20" align="center" valign="middle">
    <div id="tabella_arrotondata"><?php echo $rowmenu[1];  ?></div>
    <?php 
	$idmenu=$rowmenu[0];
	$sqllink = "select * from link_menu where idmenu='$idmenu' order by nome_link asc";
	$reslink = mysql_query($sqllink) or die("Impossibile caricare i link: ".mysql_error());
	?>
	<?php 
	while ($rowlink = mysql_fetch_array($reslink))
			{
	?> 
    <div id="tabella_arrotondata1"><a href="<?php echo $_SERVER['PHP_SELF']?>?pagina=index&amp;articolo=<?php echo $rowlink[0]; ?>"><?php echo $rowlink[1]; ?></a></div>
    
    <?php }?><div id="tabella_sotto"></div>
    </td>
</tr>
<?php }?>
</table>

ma il prob. è che la seconda query non mi ordina i risultati
 
Se la query è ok e devi solo ordinare ti conviene utilizzare orderby di sql secondo la seguente sintassi:
PHP:
SELECT 
    campi
FROM 
    tabella
ORDER BY 
    nome_campo [DESC/ASC]

Ciao, Ciro
 

Discussioni simili