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)