ok ... ho capito
lui con quel where estrae TUTTE le righe che hanno la lingua di default e la lingua richiesta
e su questo non puoi fare nulla perché dovresti verificare i dati estratti
ti consieglio di lasciare cosi la query e di fare il lavoro tramite php
infatti quando selezioni il testo ti basta che ti cicli tutto e ti crei un'array basandoti sulla chiave unica che è REF
while($row = mysql_fecth_assoc($query))
{
if (!isset($lista[$row['ref']]))
{
// imposti la riga
}
else
{
// ti limiti a verificare se la lingua presente in questa riga è quella richiesta (se lo è vuol dire che la riga che hai inserito è con la lingua di default) e quindi ti limiti ad impostare la lingua richiesta
}
}
e poi ti ricicli l'array lista e stampi tutto quello che vuoi
altrimenti puoi fare anche un'altra cosa più carina
se imposti un'order by con i settaggi che ti servono ed alla fine metti il valore di lang ordinato in maniera discedente (mettendo che la lingua di default è una) puoi stampare tutto mentre cicli!
In questo modo ti fai un'array dove vai ad inserire i vari ref e se già è stata inserita una riga salti il ciclo corrente altrimenti stampi a video con la lingua presente e aggiungi a quest'array il valore che ti serve
PS: sono tutte ipotesi ovviamente però spero ti siano in qualche modo utili![]()