La prima opzione è molto semplice:

Codice PHP:
$query 'SELECT id, nome, cognome, eta, citta, professione FROM utenti';
$res mysql_query($query);

while(
$row mysql_get_row($res))
     {
     echo 
'<div>[img]dettagli.gif[/img]'.$row['nome'].' '.$row['cognome'].'</div>';
     echo 
'<div class="datiextra'.$row['id'].'">'.$row['professione'].'
'
.$row['citta'].'
'
.$row['eta'].'</div>';
     } 
In questo modo avrai dei divs chiamati "datiextra1", "datiextra2" etc.
In un file CSS che includi nella pagina definisci

codice:
.datiextra
   {
   display:none;
   }
In questo modo i dati extra non vengono mostrati

Poi in un file js definisci la funzione mostradettagli che hai associato all'iconcina '+'

codice:
function mostradettagli(id)
   {
   d = document.getElementById("datiextra"+id);
   if (!d)
      return;

   d.display = "block";
   }