Salve ho in un db di annunci alcune tabelle :
Comuni -> id,id_provincia,comune
Provincie-> id,provincia
user-> diversi campi ma mi serve solo il comune (citta nel db)
annunci -> devo recuperare tutto qui ho l'id_user
HO proceduto così ma mi sto incartando vorrei recuperare tutti i campi dell'annuncio e ilcomune dagli user per la visualizzazione , ho commentato anche il codice :
codice:
if(isset( $_POST['provincia'])){
$provincia=$_POST['provincia'];
//recupero il record della provincia seleionata
$sql="SELECT id,provincia FROM province where provincia='$provincia'";
echo '<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>Sql:'.$sql;
$result=mysql_query($sql);
$prov=mysql_fetch_assoc($result);
//recupero l'id della provincia
$idprov=$prov['id'];
echo 'idprov:'.$idprov;
//recupero tutti i comuni della provincia
$sql2 = "SELECT id,id_provincia FROM comuni where id_provincia='$idprov'";
$result2 = mysql_query($sql2);
//creo un array con tutti gli id dei comuni
$arraycomuni=array();
//scorro i risultati e inserisco nell'array gli id dei comuni
while ($row=mysql_fetch_assoc($result2)) {
array_push($arraycomuni, $row['id']);
}
//Creo un array per inserire tutti gli user dei comuni della provincia
$arrayuser=array();
//scorro i risultati e inserisco nell'array tutti gli user di quella provincia
foreach ($arraycomuni as $k => $v) {
$sql3 = "SELECT citta,id FROM user WHERE citta='$v'";
$result3 = mysql_query($sql3);
while ($row=mysql_fetch_assoc($result3)) {
array_push($arrayuser, $row['id']);
}
}
//creo un array per inserire tutte le offertedella provincia
//scorro i risultati e controllo le offerte attive degli user della provincia
//e le inserisco in un array
$arrayofferte= array();
foreach ($arrayuser as $k => $v) {
$sql4 = "SELECT offerte.* ,user.citta FROM offerte,user WHERE iduser.offerte='$v' AND attiva=1 ORDER BY DATA ASC";
$result4 = mysql_query($sql4);
while ($row=mysql_fetch_assoc($result4)){
array_push($arrayofferte, $row['id']);
array_push($arraycomuniuser,$row['citta']);
}
}
}
Ma il risultato sono tantissimi record ma tanti con risultati doppioni per alcuni campi .esiste un modo migliore?