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
|
<?php
// valeurs utilisateur
$val = '69050';
$fourchette = '100';
// on s'assure de la validité des valeurs
// val est vide ?
$val = (empty($val))?('10000'):($val);
// pour un code postal de 5 chiffres ( si negatif on retire le moins )
$val = (substr($val,0,1) == "-")?(substr($val,1,5)):(substr($val,0,5));
// si egal a 0 on passe a la valeur par defaut
$val = ($val == 0)?('10000'):($val);
// pour une fourchette de 3 chiffres
$fourchette = substr($fourchette,0,3);
// si egal a 0 on passe a vide
$fourchette = ($fourchette == 0)?(''):($fourchette);
// est-ce des nombres ?
$v = intval($val) or die("la valeur doit être numérique !");
if(!empty($fourchette)) $f = intval($fourchette) or die("la fourchette doit être numérique !");
// le seuil
$seuil = substr($val,0,2);
// les mini maxi
$val_mini = $val-$fourchette;
$val_maxi = $val+$fourchette;
$val_mini = (substr($val_mini, 0,2) != $seuil)?($seuil.'000'):($val_mini);
$val_maxi = (substr($val_maxi, 0,2) != $seuil)?(($seuil+1).'000'):($val_maxi);
$val_maxi = ($val_maxi > 99999)?(99999):($val_maxi);
// la requete
if(!empty($fourchette)) $query_search .= " AND products.codepostal BETWEEN ". $val_mini ." AND ". $val_maxi;
else $query_search .= " AND products.codepostal = ". $val;
echo $query_search;
?> |
Partager