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