la mia tabella si chiama 'tvchannels' ed è fatta così:
id - country - channel
ed io voglio stampare la lista di tutti i paesi e relativi canali in questo modo:
Paese 1
- Canale 1
- Canale 2
Paese 2
- Canale 1
- Canale 2
ho provato a fare così:
codice:
$connect = @mysql_connect($db_host,$db_user,$db_pass);
$db = mysql_select_db($db_name,$connect);
$query1 = "SELECT DISTINCT country FROM tvchannels WHERE country <> '' ORDER BY country";
$result1 = mysql_query($query1) or die (mysql_error());
while ($record1 = mysql_fetch_array($result1) ) { $records1[] = $record1; }
foreach ($records1 as $rec){
$query2 = "SELECT channel FROM tvchannels WHERE country='" . $rec['country'] . "' ORDER BY channel";
$result2 = mysql_query($query2) or die (mysql_error());
while ($record2 = mysql_fetch_array($result2) ) { $records2[] = $record2; }
echo("".$rec['country']."
");
foreach ($records2 as $rec2){
echo(" - ".$rec2['channel']."
");
}
}
ma in questo modo non funziona bene, cioè quando stampa i canali del Paese 2, stampa prima i canali già stampati del Paese 1 + quelli del Paese 2, il Paese 3 stampa i canali del Paese 1 + Paese 2 + quelli del Paese 3 e via dicendo... in pratica dovrei fare in modo che ogni volta l'array records2 venga ripulito... qualche idea su come farlo? :master: