Aide - Recherche - Membres - Calendrier
Version complète : Petit soucis de php
Forum Webmaster - Ton Webmaster > Conception de sites > Programmation > php
Gamesvideo
Bonjour smile.gif

J'ai un petit soucis de script php, en fait je dois améliorer un script d'un moteur de recherche de profil pour un site de rencontre. Le probleme c'est lorsque que l'on cherche en france donc l'union de toutes les régions francaise, cela fonctionne mais oublie les autres critères qui sont le sexe et l'age. Lorsque l'on demande pour une seule région ou un autre pays, cela fonctionne correctement, j'ai beau regarder je comprend pas pourquoi ca ne veut pas fonctionner. Voici le code ci desous

QUOTE
if (!empty($_POST['je_cherche']) && !empty($_POST['age_min']) && !empty($_POST['age_max']) && !empty($_POST['region']))
{
 
$annee_min = date('Y') - $_POST['age_max'];
$annee_max = date('Y') - $_POST['age_min'];
// requete avec l'utilisation de la détermination
// $requete_recherche = "SELECT `pseudo`, `sexe`, `naissance_jour`, `naissance_mois`, `naissance_annee`, `region`, `photo`, `photo_ext` FROM `informations` WHERE ((`orientation_sex` = '" . détermination() . ") AND (`naissance_annee` BETWEEN '" . $annee_min . "' AND '" . $annee_max . "') ";
$requete_recherche = "SELECT `pseudo`, `sexe`, `naissance_jour`, `naissance_mois`, `naissance_annee`, `region`, `photo`, `photo_ext` FROM `informations` WHERE (`naissance_annee` BETWEEN '" . $annee_min . "' AND '" . $annee_max . "') ";
if ($_POST['je_cherche'] != 'indifférent') { $requete_recherche .= "AND `sexe` = '" . $_POST['je_cherche'] . "' "; }
$regions_array = array('belgique', 'suisse', 'luxembourg', 'canada', 'angleterre', 'espagne', 'autres');
if ($_POST['region'] != 'france')
{
if (in_array($_POST['region'], $regions_array))
{
$requete_recherche .= "AND `region` = '" . $_POST['region'] . "' ";
}
else
{
$requete_recherche .= "AND `region` = '" . $_POST['region'] . "' AND `region` != 'belgique' AND `region` != 'suisse' AND `region` != 'luxembourg' AND `region` != 'canada' AND `region` != 'angleterre' AND `region` != 'espagne' AND `region` != 'autres'";
}
}
if ($_POST['region'] = 'france')
{
$requete_recherche .= "AND `region` = 'alsace' OR `region` = 'aquitaine'  OR `region` = 'auvergne' OR `region` = 'basse-normandie' OR `region` = 'bourgogne' OR `region` = 'bretagne' OR `region` = 'centre' OR `region` = 'corse' OR `region` = 'champagne-ardenne' OR `region` = 'dom-tom' OR `region` = 'franche-comté'  OR `region` = 'haute-normandie' OR `region` = 'ile-de-france' OR `region` = 'languedoc-roussillon' OR `region` = 'limousin' OR `region` = 'lorraine'  OR `region` = 'midi-pyrénées' OR `region` = 'monaco' OR `region` = 'nord-pas-de-calais' OR `region` = 'pays-de-la-loire' OR `region` = 'picardie' OR `region` = 'poitou-charentes' OR `region` = 'provence-alpes-côte d\'azur' OR `region` = 'rhône-alpes'";
}


Merci d'avance de votre aide
MierroX
essay avec :
if ($_POST['region'] == 'france') {

sa vient peut etre de ce double egal
Gamesvideo
C'est bon j'ai résolu le probleme c'est que j'ai oublié les parenthèse pour les contions OR.
C\'est une version "bas débit" de notre forum. Pour voir la version complète avec plus d\'information, la mise en page et les images, veuillez cliquez ici.
Invision Power Board © 2001-2012 Invision Power Services, Inc.