Salut,

Voilà je suis en train de créer un site qui permet de connaître le profil de chaque étudiant. J'ai donc crée un formulaire de recherche dans lequel on peut rechercher par :

- nom
- prenom
- sexe (Homme ou Femme ou Rien)
- semestre (Tous,EDIM1, EDIM2 jusqu'à EDIM8)

Les critère de recherches sont tous facultatifs. C'est à dire que si on en renseigne aucun, tous les étudiants sont affiché !

=> Voir screen1 (le formulaire de recherche)

Pour l'affichage maintenant, çà se passe selon deux manières :

- soit le résultat de la recherche retourne PLUSIEURS étudiants : dans ce cas la page affiche un trombinoscope avec en dessous de chaque photo : le nom, prénom et semestre de chaque étudiant
=> voir screen2

- soit le résultat retourne UN SEUL étudiant : dans ce cas sa page de profil personnel s'affiche
=> voir screen3

Voici la page qui traite la recherche et affiche le résultats selon les deux manières (1 étudiants ou plusieurs) :

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
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
<?php
 
//Appel des différentes fonctions d'une page PHP
 
require_once("fonctions.php");
entete();
banniere("R&eacute;sultat de la recherche");
 
$link = mysql_connect(HOST, USER, PASS);
mysql_select_db(BASE, $link);
 
//on recupere les variables du formulaire
 
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
//on met la variable sexe à null si elle n'est pas renseignée dans le formulaire
if(!isset($_POST['sexe'])){
	$_POST['sexe']=null;
}
$sexe=$_POST['sexe'];
 
$semestre=$_POST['semestre'];
 
 
 
 
// tous les champs sont rempli
if($nom!=null && $prenom!=null && $sexe!=null && $semestre!=null){
 
	$search = "SELECT * FROM etudiant e, sexe s, semestre se WHERE e.nomEtudiant LIKE '$nom' AND e.prenomEtudiant LIKE '$prenom' AND e.sexeId=s.idSexe AND s.libelleSexe='$sexe' AND e.semestreId=se.idSemestre AND se.libelleSemestre='$semestre'";
}
 
//seul le nom est rempli
elseif($nom!=null && $prenom==null && $sexe==null && $semestre==null){
 
	$search = "SELECT * FROM etudiant e WHERE e.nomEtudiant LIKE '$nom'";
}
//seul le prenom est rempli
elseif($nom==null && $prenom!=null && $sexe==null && $semestre==null){
 
	$search = "SELECT * FROM etudiant e WHERE e.prenomEtudiant LIKE '$prenom'";
}
//seul le sexe est rempli
elseif($nom==null && $prenom==null && $sexe!=null && $semestre==null){
 
	$search = "SELECT * FROM etudiant e, sexe s WHERE e.sexeId=s.idSexe AND s.libelleSexe='$sexe'";
}
 
//seul le semestre est rempli
elseif($nom==null && $prenom==null && $sexe==null && $semestre!=null){
 
	$search = "SELECT * FROM etudiant e, semestre se WHERE e.semestreId=se.idSemestre AND se.libelleSemestre='$semestre'";
}
 
 
//seul le nom et prenom sont rempli
elseif($nom!=null && $prenom!=null && $sexe==null){
 
	$search = "SELECT * FROM etudiant e WHERE e.nomEtudiant LIKE '$nom' AND e.prenomEtudiant LIKE '$prenom'";
 
}
 
//seul le prenom et le sexe sont rempli
 
elseif($nom==null && $prenom!=null && $sexe!=null){
 
	$search = "SELECT * FROM etudiant e, sexe s WHERE e.prenomEtudiant LIKE '$prenom' AND e.sexeId=s.idSexe AND s.libelleSexe='$sexe'";
}
 
//seul le nom et le sexe sont rempli
 
elseif($nom!=null && $prenom==null && $sexe!=null){
 
	$search = "SELECT * FROM etudiant e, sexe s WHERE e.nomEtudiant LIKE '$nom' AND e.sexeId=s.idSexe AND s.libelleSexe='$sexe'";
}
 
//seul le nom et le semestre sont rempli
elseif($nom!=null && $prenom==null && $sexe==null && $semestre!=null){
 
	$search = "SELECT * FROM etudiant e, semestre se WHERE e.nomEtudiant LIKE '$nom'AND e.semestreId=se.idSemestre AND se.libelleSemestre='$semestre'";
}
 
//seul le prenom et le semestre sont rempli
elseif($nom==null && $prenom!=null && $sexe==null && $semestre!=null){
 
	$search = "SELECT * FROM etudiant e, semestre se WHERE e.prenomEtudiant LIKE '$prenom' AND e.semestreId=se.idSemestre AND se.libelleSemestre='$semestre'";
}
 
//seul le sexe et le semestre sont rempli
 
elseif($nom==null && $prenom==null && $sexe!=null && $semestre!=null){
 
	$search = "SELECT * FROM etudiant e, sexe s, semestre se WHERE e.sexeId=s.idSexe AND s.libelleSexe='$sexe' AND e.semestreId=se.idSemestre AND se.libelleSemestre='$semestre'";
}
 
elseif($nom!=null && $prenom!=null && $sexe==null && $semestre!=null){
 
	$search = "SELECT * FROM etudiant e, semestre se WHERE e.nomEtudiant LIKE '$nom' AND e.prenomEtudiant LIKE '$prenom' AND e.semestreId=se.idSemestre AND se.libelleSemestre='$semestre'";
}
 
//aucun champs de rempli
else{
 
	$search = "SELECT * FROM Etudiant";
 
}
 
 
// on envoie la requête
$req = mysql_query($search) or die('Erreur SQL !<br>'.$search.'<br>'.mysql_error());
 
 
//on verifie si la recherche renvoi un resultat
if(mysql_num_rows($req)>1){
// on fait une boucle qui va faire un tour pour chaque enregistrement
	while($data = mysql_fetch_row($req))
 
	    {
	    	echo "<div></div>";
	    	echo "<div></div>";
 
			// affichage du semestre sous forme de lettre et non de chiffre
			if ($data[17]==1){
				$libsemestre="EDIM1";}
			elseif ($data[17]==2){
				$libsemestre="EDIM2";}
			elseif ($data[17]==3){
				$libsemestre="EDIM3";}
			elseif ($data[17]==4){
				$libsemestre="EDIM4";}
			elseif ($data[17]==5){
				$libsemestre="EDIM5";}
			elseif ($data[17]==6){
				$libsemestre="EDIM6";}
			elseif ($data[17]==7){
				$libsemestre="EDIM7";}
			elseif ($data[17]==8){
				$libsemestre="EDIM8";}
 
			echo"
			<img src=\"photos_etudiants/$data[1].$data[2].jpg\" height=\"100\" width=\"100\" ><br/>
			$data[1] $data[2] $libsemestre<br/><br/>
			";
 
			//$trombi = "SELECT * FROM etudiant e, semestre se WHERE e.nomEtudiant LIKE '$data[1]' AND e.prenomEtudiant LIKE '$data[2]' AND e.semestreId=se.idSemestre AND se.libelleSemestre=$libsemestre";
			//echo $trombi;
 
 
	    }
}
elseif(mysql_num_rows($req)==1){ 
 
	$data = mysql_fetch_row($req);
	echo "<div></div>";
	echo "<div></div>";
 
	// affichage du semestre sous forme de lettre et non de chiffre
			if ($data[17]==1){
				$libsemestre="EDIM1";}
			elseif ($data[17]==2){
				$libsemestre="EDIM2";}
			elseif ($data[17]==3){
				$libsemestre="EDIM3";}
			elseif ($data[17]==4){
				$libsemestre="EDIM4";}
			elseif ($data[17]==5){
				$libsemestre="EDIM5";}
			elseif ($data[17]==6){
				$libsemestre="EDIM6";}
			elseif ($data[17]==7){
				$libsemestre="EDIM7";}
			elseif ($data[17]==8){
				$libsemestre="EDIM8";}
 
	//affichage des informations personnelles des étudiants
 
	//affichage dy bouton de modification quand la recherche retourne 1 seul etudiant
 
	echo "<br/><br/>";
	echo "	<center>
			<div id='mes_onglets'>
				<ul>
					<li id='o_1' class='mon_onglet_selected' onclick='changeOnglet(this);'><b>GENERAL .</b></li>
					<li id='o_2' class='mon_onglet' onclick='changeOnglet(this);'><b>RESULTATS .</b></li>
					<li id='o_3' class='mon_onglet' onclick='changeOnglet(this);'><b>CURSUS .</b></li>
					<li id='o_4' class='mon_onglet' onclick='changeOnglet(this);'><b>AUTRE .</b></li>
					<li class='mon_onglet'><a href='http://www.google.fr' target='_blank'><b>Lien .</b></a></li>
					<div class='clear'></div>
				</ul>
			</div>
			
			<div id='mes_contenus'>
			
			<div id='co_1' class='mon_contenu'>
			
			<br/>
			<img src=\"photos_etudiants/$data[1].$data[2].jpg\" height=\"100\" width=\"100\" ><br/><br/>
			<b><u>Nom :</u></b> $data[1] <br/><br/>
			<b><u>Prenom :</u></b> $data[2] <br/><br/>
			<b><u>Date de naissance :</u></b> $data[3] <br/><br/>
			<b><u>Adresse :</u></b> $data[4] <br/><br/>
			<b><u>Ville :</u></b> $data[6] <br/><br/>
			<b><u>Pays :</u></b> $data[7] <br/> <br/>
			<b><u>Email :</u></b> <A HREF=\"mailto:$data[8]\">$data[8]</A> <br/> <br/>
			
			  
			
			<br/>
			<input type=\"button\" value=\"MODIFIER CET ETUDIANT\" onclick=window.location=\"modifier-un-etudiant.php?idEtudiant=".$data[0]."\">
			<br/><br/>
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			</div>
			<div id='co_2' class='mon_contenu' style='display: none;'>
			
			
			
			
			
			
			</div>
			<div id='co_3' class='mon_contenu' style='display: none;'>
			
			
			<b>Semestre : </b>$libsemestre 
			
			
			
			
			
			
			
			
			
			</div>
			<div id='co_4' class='mon_contenu' style='display: none;'>Mon contenu 4</div>
			</div>
			</center>
			";
}
 
else{
 
	echo "Votre recherche n'a genere aucun resultat, veuillez reessayer !";
 
}
 
 
 
//requete quand on clique sur une photo dans le trombinoscope
 
 
 
// on ferme la connexion à mysql
mysql_close($link);
 
//Appel des boutons de retour formulaire vierge
echo "<br/><br/><br/>";
retouretaccueilformulairerecherche();
 
 
//Appel de la fonction pied de page
 
finpage();
 
?>
Ce que je voudrais est assez simple :

Quand la recherche retourne plusieurs étudiants : je voudrais qu'il soit possible de cliquer sur la photo de l'étudiant (dans le trombinoscope : screen2) dont on désir voir le profil en particulier. Ce lien nous ramènerait au même type de page qui existe actuellement lorsque la recherche ne retourne qu'un seul étudiant.

Comment pourrais-je faire ?

PS : je sais que je me suis parfois compliqué la vie dans le code mais ce n'est pas grave, j'aimerais juste résoudre ce problème en touchant le moins possible au code actuel

Merci !!!