Bonjour,
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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?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)
Partager