Perfetto, funziona tutto, posto il mio script, con parole a caso e numeri a caso che ho usato per provare lo script e verificarne la correttezza... se dovesse servire eccolo:

codice:
<?php
echo"
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
<link rel='stylesheet' href='style.css' type='text/css'/>
<title>Prove</title>
</head>
<body>";

//creo l'array madre e dentro gli array figli. (nome tracce audio)

$cd = array(
"1" => array("giallo", "ciao","ciaaao", "cd","1"),
"2" => array("questo", "è","il", "cd","2"),
"3" => array("questo", "è","il", "cd","3", "rospo"),
"4" => array("questo", "è","il", "cd","4"),
"5" => array("questo", "è","il", "cd","5"),
"6" => array("questo", "è","il", "cd","6"),
"7" => array("questo", "è","il", "cd","7"),
"8" => array("questo", "è","il", "cd","8"),
"9" => array("questo", "è","il", "cd", "9", "ma", "ci", "sono", "più", "dati")
);

//creo un altro array madre e dentro gli array figli (durata tracce audio)

$duration = array(
"1" => array("2:10","2:30","1:10","10:10","6:10"),
"2" => array("2:10","2:30","1:10","10:10","7:10"),
"3" => array("2:10","2:30","1:10","10:10","8:10","25:20"),
"4" => array("2:10","2:30","1:10","10:10","9:10","25:20"),
"5" => array("2:10","2:30","1:10","10:10","00:10","25:20"),
"6" => array("2:10","2:30","1:10","10:10","1:10","25:20"),
"7" => array("2:10","2:30","1:10","10:10","2:10","25:20"),
"8" => array("2:10","2:30","1:10","10:10","3:10","25:20"),
"9" => array("1:10","2:30","1:10","10:10","4:10","25:20", "2", "6", "5", "66")
);

//conto quanti dati ci sono per creare le righe della tabella.
$num_cd = count($cd); 

//creo i link che richiamano ogni div grazie alla pseudo classe :target.
echo"<div class='nav'>";
    for ($b=1; $b<=$num_cd; $b++){echo"disco $b | ";}
echo"</div>";


//comincio a creare i div che verranno chiamati e che contengono le tracce con l'immagine di ogni album.

for ($a=1; $a<=$num_cd; $a++){
  
//immagine album
echo"
<div id='$a' class='preview'>
  <div class='image'>
  [img]../img/covers/$a.jpg[/img] 
  </div>";

//apro la tabella per la lista tracce
echo"
<table class='tracks'>
    <tr>
      <td>Numero Traccia</td>
      <td>Nome</td>
      <td>Artista</td>
      <td>Durata</td>
    </tr>";

$num_tracks = count($cd[$a]); //conto i dati presenti in ogni array "figlio" del primo array. (nome tracce)

//creo un ciclo apposito che mi permette di trovare i dati degli array "figlio". (nome e durata)
for ($c=0; $c<$num_tracks; $c++){

echo"<tr>";      //apro la riga
  echo"<td>".($c+1)."</td>";      //numero traccia
  echo"<td>".$cd[$a][$c]."</td>";      //nome traccia
  echo"<td>NOME ARTISTA</td>";      //nome artista da manualmente
  echo"<td>".$duration[$a][$c]."</td>";      //durata traccia
echo"</tr>";      //chiudo la riga
}

echo"</table>";      //chiudo la tabella


echo"<ul>";      //apro la lista per navigare tra i div
echo"[*]";if ($a!=1) {echo"indietro";} echo""; //pulsante per richiamare il div precedente

echo"[*]chiudi";      //pulsante per chiudere il div aperto


echo"[*]";if ($a!=$num_cd) {echo"avanti";} echo"";      //pulsante per richiamare il div successivo
echo"[/list]";      //chiudo la lista

echo"</div>";      //chiudo il div e finisce il ciclo

}

//chiudo la pagina
echo"
</body>
</html>";

?>