Bonjour,
j'ai une page php qui me réalise une recherche en fonction de 5 variable entrées par l'utilisateur puis surligne ces 5 variables dans mon entrée symptomes de ma base. Or ma base est mal foutu et j'aimerai que si deux symptômes sont présents dans une maladie et que les autres n'ont qu'un symptome elle doit etre placé avant:
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
 if ($nbr==5) { 
   $requete=mysql_query( "select * from diagnostique     WHERE  'sexe' LIKE '%$Sexe%' 
   and $Age<age_max and $Age>age_min 
   and ('symptomes' LIKE '%$Sympt1%' 
   or 'symptomes' LIKE '%$Sympt2%' 
   or 'symptomes' LIKE '%$Sympt3%' 
   or 'symptomes' LIKE '%$Sympt4%' 
   or 'symptomes' LIKE '%$Sympt5%')") or die (" ==> " . mysql_error()); 
   } 
  $total = mysql_num_rows($requete); 
  //echo $total."<br />"; 
 
  if (!$requete) 
   { 
   echo " <br/> <br/> <p align=center>Impossible d'exécuter la requête sql dans la base.</p> <br/> <p align=center> <img src='erreur.gif' /></p><p align=center><br/> <div id=\"HP\"><a href=\"E-diagno.php\">Retour</a></div></p> " . mysql_error(); 
   echo '</section></body><footer> <center>Projet ISN 2013 E-Docteur® - Tous droits réservés.</center></footer></html>'; 
   exit; 
   } 
 
 if ($total==0) 
 { 
 echo '<br/><br/><center>Aucune maladie trouvée.</p> <p> <img src="erreur.gif" /><br/><div id="HP"><a href="E-diagno.php">Retour</a></div></p></center>'; 
 echo '</section></body><footer> <center>Projet ISN 2013 E-Docteur® - Tous droits réservés.</center></footer></html>'; 
 exit; 
 } 
 
if ($requete) 
{  
echo ' <div id="info"><p>Vous trouverez dans le tableau ci-dessous le(s) résultat(s) de votre requête. Les maladies les plus probables ayant au moins un <span style="font-weight:bold; color:red;"> symptôme correspondant </span> ont été sélectionnées. Si vous ne retrouvez pas l\'un de vos symptômes choisis précedemment, c\'est que la base de données ne comporte pas de maladies répondant à l\'ensemble de vos critères.</p> </div> '; 
    echo 
'<div id="lien"> 
<p align=center> 
    <table width=630 border=0 cellpadding=0 cellspacing=0> 
 
        <tr> 
            <td style="border: 0px;" height=22> </td> 
            <td valign=top style="background-image: url(ok.png)"><b><p align=center>NOM</p></b> </td> 
 
            <td valign=top style="background-image: url(ok.png)"><b><p align=center>SYMPTÔMES</p></b> </td> 
         </tr> 
        <tr> 
'; 
 
    // définition de la liste des symptômes à surligner   
    $symptoms = array( 
        $Sympt1, 
        $Sympt2, 
        $Sympt3, 
        $Sympt4, 
        $Sympt5 
    ); 
 
    // fonction : recherche symptômes et surlignage 
    $highlight_symptoms = 
        function($p) use ($symptoms) 
        { 
            foreach ($symptoms as $v) 
            { 
                $p = str_replace($v, '<span style=" color: red; font-weight:bold;">'.$v.'</span>', $p); 
            } 
 
            return $p; 
        }; 
 
 
    while ($row = mysql_fetch_array($requete)) 
    { 
        echo 
<<<HTML 
            <td style="border: 0px;" height=22> </td> 
            <td valign=top>{$row['nom']}</td> 
             
            <td valign=top>{$highlight_symptoms($row['symptomes'])}</td> 
        </tr> 
HTML; 
    } 
 
    echo' 
    </table> 
</p> 
</div> 
<br/>';
pour tester:
http://e-docteur.legtux.org/Diagnostic/E-diagno.php
Merci d'avance