je suis plus que novice en matière de php et mysql. J'ai fait une bae de données avec plusieurs champs (id, sexe age_min age_max et symptomes). ce que j'ai fait c'est un formulaire en html et javascript qui transmet à ma page rechercher.php les variables $Age, $Sexe et 5 symptômes. Voici le code que j'ai essayé pour effectuer ma recherche:
<?php
$Sexe = $_POST['sexe'];
$Age = $_POST['age'];
$Sympt1 = $_POST['sympt1'];
$Sympt2 = $_POST['sympt2'];
$Sympt3 = $_POST['sympt3'];
$Sympt4 = $_POST['sympt4'];
$Sympt5 = $_POST['sympt5'];
session_start();
$DBName= "mydb";
$userName = "root";
$DBpasswd = "";
$DBhost = "localhost";
if(empty($Sympt1) || empty($Age)|| empty($Sexe)) {
echo 'Veuillez-vérifier que le sexe, l\'âge de l\'utilisateur et au moins un symptôme sont précisés.';}
else{
$requete="SELECT * FROM diagnostique
WHERE sexe LIKE '$sexe'
AND age_min <= '$age' AND age_max >= '$age'
AND (symptomes LIKE '%$Sympt1%')
or (symptomes LIKE '%$Sympt2%')
or (symptomes LIKE '%$Sympt3%')
or (symptomes LIKE '%$Sympt4%')
or (symptomes LIKE '%$Sympt5%')"
}
?>
Ce que je voulais effectuer c'est une recherche qui prenne en compte l'âge et le sexe de façon essentielle c'est à dire que si l'âge n'est pas compris entre age_min et age_max, la maladie ne ressort pas à la recherche. Après pour la recherche au niveau des symptômes, je voudrait que ça soit la maladie qui a le bon sexe et le bon âge et ayant le plus de symptôme correspondant qui ressorte, ou disons les 2-3 correspondant le plus. Si vous pouviez m'aider, je vous remercie par avance!Pour ma BDD ça donne: id int nom varchar (100) sexe varchar (2) soit F pour féminin M pour masculin ou FM quand c'est les deux, age_min int age_max et symptomes varchar (1000)