Les conditions de ma requête ne sont pas respectées
Bonjour tout le monde !
Je rencontre un petit problème avec ma requete :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
|
<?
require_once("../Connections/config_db.php");
$type = $_GET['typeRch'];
$bien = $_GET['bien'];
$Smin=$_GET['Smin'];
$Smax=$_GET['Smax'];
$Pmin=$_GET['Pmin'];
$Pmax=$_GET['Pmax'];
$PrMin=$_GET['PrMin'];
$PrMax=$_GET['PrMax'];
$commune=$_GET['commune'];
$depart=$_GET['depart'];
$result = "select count(id_annonce) as total from a_immobilier where paye='O' ";
if ($type!=0)
$result = $result."and id_choix ='".$type."'" ;
if ($bien!=0)
$result = $result."and id_bien_immo ='".$bien."'" ;
if ((!empty($Smin))&&(!empty($Smax)))
$result = $result."and superficie between '".$Smin."' and '".$Smax."'" ;
if ((!empty($Smin))&&(empty($Smax)))
$result = $result."and superficie >='".$Smin."'" ;
if ((empty($Smin))&&(!empty($Smax)))
$result = $result."and superficie <='".$Smax."'" ;
if ((!empty($Pmin))&&(!empty($Pmax)))
$result = $result."and nb_pieces between '".$Pmin."' and '".$Pmax."'" ;
if ((!empty($Pmin))&&(empty($Pmax)))
$result = $result."and nb_pieces >='".$Pmin."'" ;
if ((empty($Pmin))&&(!empty($Pmax)))
$result = $result."and nb_pieces <='".$Pmax."'" ;
if ((!empty($PrMin))&&(!empty($PrMax)))
$result = $result."and prix between '".$PrMin."' and '".$PrMax."'" ;
if ((!empty($PrMin))&&(empty($PrMax)))
$result = $result."and prix >='".$PrMin."'" ;
if ((empty($PrMin))&&(!empty($PrMax)))
$result = $result."and prix <='".$PrMax."'" ;
if((empty($depart))&&(!empty($commune)))
$result = $result."and ville='".$commune."'";
if($depart==1)
{
$cp=substr($commune,0,2);
$result = $result."and ville Like '".$cp."%'";
}
// LE PROBLEME COMMENCE LA
if($depart==2)
{
$cp=substr($commune,0,2);
$select =" select limitrophe from departement where idDepart=".$cp;
$tot_select = mysql_query($select) or die('Erreur SQL !'.$select.'<br>'.mysql_error());
$row_tot_select = mysql_fetch_assoc($tot_select);
$result = $result."and ville Like '".$cp."%'";
$taille=strlen($row_tot_select['limitrophe']);
$j=0;
while ($j<=$taille)
{
$CodeDepart=substr($row_tot_select['limitrophe'],$j,2);
$result = $result."or ville Like '".$CodeDepart."%'";
$j=$j+3;
}
}
// ET SE TERMINE LA
$tot = mysql_query($result) or die('Erreur SQL !'.$result.'<br>'.mysql_error());
$row_tot = mysql_fetch_assoc($tot);
echo $row_tot['total'];
?> |
D'apré le résultat que j'obtient la requete ne tien plus compte des condtions autres que $depart, mais quand j'affiche ma requete j'obtien bien select .....where ...and ville like '88%' or ville like '54%' (c'est un exemple)
comprend pô !! :koi:
Merci d'avance pour votre aide :mouarf: