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'";
}
{
$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