Originariamente inviato da clasku
per ottenere quel risultato con un'unica query non mi viene in mente niente (in realtà sono quasi convinto non si possa)
Certo che si puo', basta smettere di stampare da dentro il ciclo while e fare la cosa piu' corretta: mettere i dati in una struttura e stamparli dopo.

Come fare in questo caso e' molto semplice, si crea un array usando il nome del prodotto come chiave e come valore un altro array a cui si incodano gli id dei commenti.

Qualcosa del genere:
Codice PHP:

$data 
= array();

while ( 
$row mysql_fetch_array($result) ) {
    
$key $row['nomeprodotto'];

    
$data[$key][] = $row['id_commento'];
}

print_r($data); 
Fare una query per ogni prodotto e' un'idea pessima, il calo di performance all'aumentare del numero di prodotti e' vertiginoso. Le JOIN si usano proprio per evitare query di questo genere, che sono il piu' grave errore in termini di performance quando si interagisce con un database.