Bonjour à tous,
On m'a confié un projet qui est de créer un moteur de recherche suivant plusieurs critères. Le problème est que ma recherche s'effectue à partir d'un seul critère et je ne vois pas comment résoudre cela. La recherche doit s'effectuer suivant le nom de l'automate, de l'unité et du batiment, en bref je dois afficher les automates suivant leurs nom, leurs nom d'unités et de batiments. Leurs tables respectives sont automate, ue, batiment. Leurs champs sont :
automate : id_instal, id_secteur, id_ue, id_bat, pdf(ce champ contient le nom des fichiers)

ue : id_ue, nom_ue

batiment : id_bat, nom_bat

Et voici mon code :
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
 
<?php
 
 
if(isset($_POST['Mot']))
{
 
if (($_POST['Mot'] == "") || ($_POST['Mot'] == "%")){
// Si aucun mot clé n'a été saisi, le script demande à l'utilisateur de bien vouloir préciser un mot clé 
 
	echo "
	<center>
	<b>Veuillez entrer un mot clé s'il vous plaît ! <br><br></b>
	</center>
	<p>";
}
 
else {
 
// On selectionne les enregistrements contenant le mot 	
	$query = "SELECT A.id_instal, B.nom_bat, ue.nom_ue, A.pdf, N.type_instal, S.nom_secteur FROM ue, batiment B, automate A, nomination N, secteur S WHERE N.id_instal = A.id_instal AND A.id_ue = ue.id_ue AND A.id_bat = B.id_bat AND A.id_secteur = S.id_secteur AND A.id_instal IN ( SELECT D.id_instal FROM difference D WHERE D.mot1='{$_POST['Mot']}'OR D.mot2='{$_POST['Mot']}'OR D.mot3='{$_POST['Mot']}'OR D.mot4='{$_POST['Mot']}' OR D.mot5='{$_POST['Mot']}'OR D.mot6='{$_POST['Mot']}'OR D.mot7='{$_POST['Mot']}'OR D.mot8='{$_POST['Mot']}')";
 
	$result = mysql_query($query);
	$row = mysql_num_rows($result);
 
 
// Si aucun enregistrement n'est retourné, on affiche un message adequat 
 
	if ($row == 0) 
	{
 
		echo "<center><b>Aucun resultat ne correspond à votre recherche !</center></b><br><br><p>";
 
	}
if(isset($_POST['Unite']))
{
 
if (($_POST['Unite'] == "") || ($_POST['Unite'] == "%")){
// Si aucun mot clé n'a été saisi, le script demande à l'utilisateur de bien vouloir préciser un mot clé 
 
	echo "
	<center>
	<b>Veuillez entrer un nom d'unité s'il vous plaît ! <br><br>
	</center>
	<p>";
}
 
else {
 
	$dell = "SELECT ue.id_ue FROM ue, automate A WHERE A.id_ue = ue.id_ue AND ue.nom_ue = '{$_POST['Unite']}'";
 
	$result1 = mysql_query($dell);
	$row1 = mysql_num_rows($result1);
 
 
// Si aucun enregistrement n'est retourné, on affiche un message adequat 
 
	if ($row1 == 0) {
 
		echo "<center>Aucun nom d'unité ne correspond à votre recherche !</center><br><br><p>";
 
	}
}
}
if(isset($_POST['Batiment']))
{
 
 
if (($_POST['Batiment'] == "") || ($_POST['Batiment'] == "%")){
// Si aucun mot clé n'a été saisi, le script demande à l'utilisateur de bien vouloir préciser un mot clé 
 
	echo "
	<center>
	Veuillez entrer un nom de batiment s'il vous plaît !<br><br>
	</center>
	<p>";
}
 
else {
 
 
	$allen = "SELECT B.id_bat FROM batiment B,automate A WHERE A.id_bat = B.id_bat AND B.nom_bat = '{$_POST['Batiment']}'";
 
	$result2 = mysql_query($allen);
	$row2 = mysql_num_rows($result2);
 
 
// Si aucun enregistrement n'est retourné, on affiche un message adequat 
 
	if ($row2 == 0) {
 
		echo "<center>Aucun nom de batiment ne correspond à votre recherche ! </center><br><br><p>";
 
	}
}
}
	// Liste des enregistrements trouvés 
 
	if ($row > "0" && $row1 > "0" && $row2 > "0") 
	{
 
		echo "
			
			<a name=\"#resultat\"><center>Résultat : Il y a ".$row." traduction(s) de séquences trouvée(s)</center></a><br><br>
			<p>";
	}
		 for($i=0;$i<$row;$i++)
		 {
			$fetch = mysql_fetch_array($result);
			$row = mysql_num_rows($result);
 
			$lecoeuche = 'L:'.'/'.$fetch['nom_secteur'].'/'.$fetch['nom_ue'] .'/'. $fetch['nom_bat'].'/Traductions_Sequences/'.$fetch['pdf'];
 
			echo '<p><b>'.'¤' .'</b><a href="'.$lecoeuche.'"> "'.$lecoeuche.'" </a><p><br />';
		}
	}
}
 
// On ferme la base
mysql_close();
 
?>
merci d'avance !