altrimenti usi un contatore...
la prioma volta non è presente, per cui stampi argomento e lo valorizzi, poi stampi anche sottoargomento.
le volte successive, il contatore è presente e stampi solo il sottoargomento.
altrimenti usi un contatore...
la prioma volta non è presente, per cui stampi argomento e lo valorizzi, poi stampi anche sottoargomento.
le volte successive, il contatore è presente e stampi solo il sottoargomento.
Ciao!
la cosa bella è che quasi ci siamo...
ho inserito un nuovo campo nella tabella e ad argomento ho associato un valore, mentre in sottoargomento è nullo, quindi:
if ($nuovoCampo =='valore') {echo"$argomento";}
else{echo"$sottoargomento";}
curioso è che prima stampa a video i sottoargomenti e poi gli argomenti...
invece di:
padre1
--figlio1.1
--figlio1.2
padre2
--figlio2.2
--figlio2.2
etc.
compare:
--figlio1.1
--figlio1.2
padre1
--figlio2.2
--figlio2.2
padre2
eppure nella query c'è:
SELECT DISTINCT argomento, nuovoCampoValore, sottoargomento ORDER BY argomento
![]()
Avevo già provato, ma scombina il corretto ordine e non risolve il problema dell'argomento stampato a video dopo gli argomenti...
è curiosa la cosa...
posta un po di dati, una decina di righe del db
Ciao!
Nel db ho associato un valore in modo crescente solo ai primi argomenti, ovvero: gli argomenti sono 10, ai primi 10 ho assegnato un valore, non a tutti i record:
id
argomento
valore
sottoargomento
quindi figura così
id 1
argomento pippo
valore A
sottoargomento figlio di pippo1
id 2
argomento pippo
valore NULL
sottoargomento figlio di pippo2
probabilmente devo dare un valore a tutti i record argomento
etc.
Prova con:
Codice PHP:
<?php
// Codice
$sql = "SELECT * FROM tabella ORDER BY argomento ASC, sottoargomento ASC";
$res = mysql_query($sql);
$output = array();
while ( $line = mysql_fetch_object($res) ) {
$output[$line->argomento][] = array(
'id' => $line->id,
'valore' => $line->valore,
'sottoargomento' => $line->sottoargomento
);
}
?>
<?php foreach ( $output as $argomento => $dati ): ?>
<ul>[*]
<?php echo $argomento; ?>
<ul>
<?php foreach ( $dati as $oggetto ): ?>[*]<?php echo $oggetto['sottoargomento']; ?>
<?php endforeach; ?>[/list]
[/list]
<?php endforeach; ?>
che figata...
grazie davvero k.b , funziona alla grande !!!
grazie anche a fmortara per l'aiuto.