Salve a tutti,
ho una tabella con diversi campi (nome, cognome, via...). Ho bisogno di disporre i risultati in una tabella in cui a ogni nome corrispondono altri dati (acquisti compiuti) provenienti da un'altra tabella.
Ho usato il foreach, ma riesco a visualizzare solo l'ultimo nome inserito nella tabella.

Questo è il codice:

//estraggo i nomi
$query = "SELECT firstname FROM orders GROUP BY firstname";
$id_risult = mysql_query($query, $id_conness);
while ($row = mysql_fetch_array($id_risult,MYSQL_ASSOC))
{
$listanomi=$row['firstname'];
echo "$listanomi";

$name_list=array($listanomi); //<---- l'errore credo sia qui, forse dovrei usare un explode?
}


//inizio la tabella con nomi e rispettivi acquisti
$i=0;

echo "<table width=\"50%\" border=\"1\">";

foreach ($name_list as $nomi)
{ echo "<tr>
<td width=\"27%\">Nome ",$i," ",$nomi,"</td>
<td width=\"73%\">";
$query = "SELECT * FROM orders, products WHERE orders.session_id = products.session_id AND firstname = '$nomi'";
$id_risult = mysql_query($query, $id_conness);
while ($row = mysql_fetch_array($id_risult,MYSQL_ASSOC))

echo "Colore: $row[coloreScelto]</br>";
$i++;
}

echo "</td>
</tr>";

echo "</table>";

Grazie!