Hai ragione, mi sono espresso io male. Questo è il codice che utilizzo:

Codice PHP:
$paesi "";
$query "QUERY CHE RESTITUISCE GLI ID DI TUTTI I PAESI DI UNA REGIONE";
$result $mysqli->query($query);
while(
$row $result->fetch_array(MYSQLI_ASSOC)){
$paesi .= $row["id"] . ","
}

$paesi explode(",",$paesi);


foreach(
$paesi as $paese){

$query "QUERY PER PRENDERE LE DESCRIZIONI SOLO DI QUELLA REGIONE";
$result $mysqli->query($query);
while(
$row $result->fetch_array(MYSQLI_ASSOC)){
 echo 
$row["titolo"] . "
$row["descc"] . "

"
;
}

Il problema è il seguente:

La tabella delle descrizioni è formata così:

titolo | desc | paesi

prova | questa è una desc | 54, 66, 67, 88

Siccome il campo "paesi" è strutturato in quel modo con il foreach io passo alla query un ID alla volta che cerca nel campo "paesi". Se è presente l'ID stampa a video la riga.

Però molte righe sono doppie però hanno un diverso ID, esempio:

prova | questa è una desc | 54, 66, 67, 88
prova | questa è una desc | 54, 57, 67, 88
prova | questa è una desc | 54, 89, 67, 88

Passando alla query gli ID: 66, 57 e 89 lui automaticamente stamperà tutte e tre le righe e non va bene in quanto titolo e desc sono sempre uguali.

Ho provato anche con un select distinct nell'ultima query ma ovviamente non funziona perchè la query è dentro un foreach e quindi stampa comunque tutto.

Il risultato che dovrei ottenere nell'esempio è questo:

prova | questa è una desc

Invece ottengo:

prova | questa è una desc
prova | questa è una desc
prova | questa è una desc

Spero di esser stato chiaro