Originariamente inviato da vicky
$record[0]=id_cognome;

serve per dare un valore a id_cognome che utilizzerò nella clausola WHERE della seconda query.
Ammesso che id_cognome sia una variabile (manca $), così tu non gli dai nessun valore, casomai dai a $record[0] il valore di stringa vuota (se id_cognome non è inizializzata).

echo $cognome; visualizza il cognome, come dicevo anche prima
echo $query; visualizza la nuova query che ho fatto con il JOIN ON:

al posto di $Cognome nella clausola WHERE vedo il cognome che ho selezionato dal from della pagina precedente. Ma di vedere il risultato di questa query non se ne parla.
Quindi la query è come te l'aspetti tu? Hai provato ad eseguirla con phpadmin o qualche altro frontend? Dà i risultati che ti aspetti?

Cmq il codice che hai messo nel primo msg è sbagliato come flusso di esecuzione, l'hai cambiato in qualche modo o è sempre così?