Bonjour,

Voila depuis presque 3h je me casse la tête a trouvé la solution a un problème d'affichage d'un requete, mais je n'arrive pas a trouver.

Le principe est d'effectuer une recherche d'un produit chimique par différent type ; "Nom du produit", "Numéro de cas" etc..

Le type choisie, nous choisisssons le mot clé
Exemple1: Le type de recherche = "Nom du produit", mot clé = Glucose.
Ou
Exemple2: Le type de recherche = "Formule", mot clé = C6H1206.

Le problème c'est lors de l'affichage des résultat, le produit resort plusieur fois.
Je pense que 1 produit se repète 175 fois! et je ne comprend pas d'ou viens le problème.

Pouvez-vous me donné un coup de main SVP

Voici mon code

page resultat_prod
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
 if (empty($_GET['type']))
	     {
	         echo "Vous devez obligatoirement choisir le mode de recherche (N° Cas, N° lot etc...)
           <a href='Javascript:history.go(-1)'>Complétez le formulaire SVP</a>";
	     }
 
	     else {
 
 
     // récuperation des donné
 
      $labo = $_GET['labo'];
      $type = $_GET['type'];
      $mot_cle = $_GET['mot_cle'];
 
 
 
      if (empty($_GET['mot_cle'])) 
      {
         $typechercher = "tous";
 
        $requete="SELECT l.nom_labo, p.id_prod, p.num_cas, p.ref_prod, p.num_lot, p.nom_fr, p.nom_en, p.nom_usuel, p.formule, s.localisation, s.endroit FROM produits p, labo l, stock s
         WHERE  l.nom_labo ='$labo' ORDER by p.nom_fr ";
      }
      else
      {
      // execution de la requette selon le type , N°Cas, lot, nom produit etc...
// type 1 = N°cas, Type 2 = N° de lot etc..
 
            if ($type=='1')    
            {
 
                    $num_cas = $mot_cle;
                    $typechercher = "CAS";
 
                    $requete="SELECT l.nom_labo, p.id_prod, p.num_cas, p.ref_prod, p.num_lot, p.nom_fr, p.nom_en, p.nom_usuel, p.formule, s.localisation, s.endroit FROM produits p, labo l, stock s
                    WHERE p.id_prod='$num_cas' AND l.nom_labo ='$labo' ORDER by p.nom_fr";
 
            }
 
            else if ($type=='2')   
            {
 
                    $num_lot = $mot_cle;
                    $typechercher = "N° de lot";
 
                    $requete="SELECT l.nom_labo, p.id_prod, p.num_cas, p.ref_prod, p.num_lot, p.nom_fr, p.nom_en, p.nom_usuel, p.formule, s.localisation, s.endroit FROM produits p, labo l, stock s
                    WHERE num_lot like '%$num_lot%' AND l.nom_labo ='$labo' ORDER by p.nom_fr ";
 
            }
 
            else if ($type=='3')   
            {
 
                    $nom_prod = $mot_cle;
                    $typechercher = "Nom du produit";
 
                    $requete="SELECT l.nom_labo, p.id_prod, p.num_cas,p.ref_prod, p.num_lot, p.nom_fr, p.nom_en, p.nom_usuel, p.formule, s.localisation, s.endroit FROM produits p, labo l, stock s
                    WHERE  (p.nom_fr like '%$nom_prod%' or p.nom_en like '%$nom_prod%' or p.nom_usuel like '%$nom_prod%') AND l.nom_labo ='$labo'
                    ORDER by p.nom_fr ";
 
            }
 
            else if ($type=='4')   
            {
 
                    $formule = $mot_cle;
                    $typechercher = "Formule";
 
                    $requete="SELECT l.nom_labo, p.id_prod, p.num_cas, p.ref_prod, p.num_lot, p.nom_fr, p.nom_en, p.nom_usuel, p.formule, s.localisation, s.endroit FROM produits p, labo l, stock s
                    WHERE  formule like '%$formule%'  AND l.nom_labo ='$labo' ORDER by p.nom_fr ";
 
            }
            }// Fin du else mot clé
 
 
 
 
 
 
 
 
 
 
			$resultat = mysql_query ($requete,$connexion);
 
 
 
$fields = mysql_num_fields ($resultat);
// nombre de lignes
$lignes = mysql_num_rows ($resultat);
echo $lignes;// test nombre de resultat
 
     if ($lignes==0) {
	    redirect("index.php?page=saisie","2");       
            echo "le produit n'existe pas au labo <br/>
            Vous allez être redirigé dans quelque secondes";
		            }
       else {
 
 
 
 
 
 echo "<br><p align=center>
     Résultats pour la requète $typechercher = <b>$mot_cle</b></p>";
 
 echo "<table width=100% class=resultat>";
 
 echo "<tr><th></th>
	 <th><p>CAS</p></th>
	 <th><p>Ref. Produit</p></th>
	 <th><p>N° de Lot</p></th>
     <th><p>Nom français</p></th>
	 <th><p>Nom anglais</p></th>
	 <th><p>Nom courant</p></th>
	 <th><p>Formule</p></th>
   <th><p>Lieu</p></th>";
 
 
 
 
      //boucle d'affichage des élements de la table
      while ($row = mysql_fetch_object($resultat))
 
      {
 
      echo"<tr bgcolor=".switchcolor().">";
 
    echo"<TD nowrap><a href=index.php?page=saisie_prod&mode=MAJ&id_prod=$row->id_prod>Maj-Sup</a></td>"
    ."<TD nowrap>$row->num_cas</td>"
    ."<TD>$row->ref_prod</td>"
    ."<TD>$row->num_lot</td>"
    ."<TD>$row->nom_fr</td>"
    ."<TD>$row->nom_en</td>"
    ."<TD>$row->nom_usuel</td>"
    ."<TD>$row->formule</td>"
    ."<TD>$row->localisation/$row->endroit<br>
    $row->nom_labo</td>";
 
 
     echo "</tr>";
                    }
      // marque de fin du tableau
 
 
      echo "</table>";
      echo "<br><center>";
 
 
 
 
        //fermeture de la connexion
        mysql_close() ;
 
     }// fin du else ligne = 0
     }// fin du else if get type