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?