Bonjour,
Je fais un formulaire de recherche sur mon site. Avec la méthode GET, je récupère les valeurs de ma recherche dans mon select. Mais malheureusement, ça ne prend en compte que les premiers mots et dès qu'il y a un espace, dans l'url, toute la suite ne s'affiche pas.

Par exemple : je choisis l'article "Mon premier article" et je recherche. Dans l'url du haut figurera mon url+requete=+&requete2=&requete3=Mon&requete4=

Comment faire pour que tout le nom de l'article s'affiche svp ?

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
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
 
<html>
<body>
 
<center>Rechercher dans Tous les Sujets
<br>
<br>
Vous pouvez utiliser les opérateurs ET / OU / SANS (pour exclure un mot)
<br>
 
<form action="rechercher.php" method="GET">
<input type="text" name="requete" size="25" value=" " onClick="this.value='';">
<br>
<br>
<SELECT name="requete2">
		<OPTION VALUE="">Tous les Sujets</option>	
		<? 
include ("connect.inc.php");
include ("variables.php");
		$resultat2=mysql_query("SELECT * FROM $table2 ORDER BY profil ASC");
 
		while ($donnees2 = mysql_fetch_assoc($resultat2)) {	
 
		echo "<OPTION VALUE=".utf8_decode($donnees2['profil']).">".utf8_decode($donnees2['profil'])."</OPTION>";
		}
		?>
 
</SELECT>
 
 
<SELECT name="requete3">
		<OPTION VALUE="">Articles</option>	
		<? 
include ("connect.inc.php");
//include ("variables.php");
		$resultat2=mysql_query("SELECT * FROM $table4 ORDER BY titre ASC");
 
		while ($donnees2 = mysql_fetch_assoc($resultat2)) {	
 
 
  $donnees2['titre']=strip_tags($donnees2['titre']);
 
 
		echo "<OPTION VALUE=".tronque($donnees2['titre'],50).">".tronque(utf8_decode($donnees2['titre']),50)."</OPTION>";
		}
		?>
 
</SELECT>	
 
 
<SELECT name="requete4">
		<OPTION VALUE="">Tous</option>	
 
<OPTION VALUE="7">1 semaine</OPTION>";
<OPTION VALUE="14">2 semaines</OPTION>";
<OPTION VALUE="30">1 mois</OPTION>";		
<OPTION VALUE="60">2 mois</OPTION>";		
<OPTION VALUE="90">3 mois</OPTION>";		
</SELECT>
 
<br />
<br /><input type="submit" value="Recherche"></form></center>
 
 
<?
 
function highlight($chaine, $search)
{
return eregi_replace($search, "<font color=\"red\">".$search."</font>",  $chaine);
}
 
include ("connect.inc.php");
//include ("variables.php"); 
 
 
$nombre = 20;  // on va afficher 5 résultats par page.
if (!isset($limite)) $limite = 0; // si on arrive sur la page pour la première fois 
               // on met limite à 0.
 
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = $path_parts['basename'];
$requete = $_GET['requete'];
 
$select = "SELECT * FROM $table2 INNER JOIN $table5 ON $table2.numero=$table5.numero INNER JOIN $table4 on $table5.numero_article=$table4.numero WHERE ($table2.profil LIKE '%$requete2%')
AND ($table4.titre LIKE '%$requete3%')
AND ($table2.profil LIKE '%$requete%' 
OR $table4.titre LIKE '%$requete%' 
OR $table4.resume LIKE '%$requete%' 
OR $table4.article LIKE '%$requete%' 
OR $table4.date LIKE '%$requete%')
ORDER BY $table4.titre, $table4.resume ASC";
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_fetch_row($result);
//$total = $row[0];
$nb_resultats = mysql_num_rows($result);
 
 
$limitedebut = 0;
$limitesuivante = $limite + $nombre;
$limiteprecedente = $limite - $nombre;
$limitefin = $nb_resultats - $nombre;
 
// si on a récupéré un résultat on l'affiche.
if ($requete) {
if($total) {
 
 
//include ("variables.php");
echo "<center><font size='4'>";
echo "<b>";
echo "<a href=\"index.php\">Principal</a></b>";
echo "</font></center><br>";
 
 
echo "<center>";
if($limite != 0 && $limite >= 0+$nombre) {
	echo '<a href="'.$page.'?requete='.$requete.'&limite='.$limitedebut.'&requete2='.$requete2.'"><<</a> ';
    echo '<a href="'.$page.'?requete='.$requete.'&limite='.$limiteprecedente.'&requete2='.$requete2.'">'.$nombre.' réponses précédentes</a>';
echo " / ";
}
if($limitesuivante < $nb_resultats) {
    echo '<a href="'.$page.'?requete='.$requete.'&limite='.$limitesuivante.'&requete2='.$requete2.'">'.$nombre.' réponses suivantes</a>';
	echo ' <a href="'.$page.'?requete='.$requete.'&limite='.$limitefin.'&requete2='.$requete2.'">>></a>';
}
echo "</center>";
 
 
?>
<h3>Résultats de votre recherche.</h3>
<p>Nous avons trouvé <? echo $nb_resultats; // on affiche le nombre de résultats 
if($nb_resultats > 1) { echo ' résultats '; } else { echo ' résultat '; } // on vérifie le nombre de résultats pour orthographier correctement. 
?>
dans notre base de données :<br/>
<br/>
<?
 
while($donnees = mysql_fetch_array($result)) // on fait un while pour afficher la liste des fonctions trouvées, ainsi que l'id qui permettra de faire le lien vers la page de la fonction
{
 
$donnees['titre']=strip_tags($donnees['titre']);
$donnees['resume']=strip_tags($donnees['resume']);
echo "<u>";
		echo highlight(utf8_decode($donnees['titre']), $_GET['requete']);
echo "</u><br />";	
		echo highlight(utf8_decode($donnees['resume']), $_GET['requete']);
		echo "<br /><br />";
 
 
} 
 
 
 
}
else echo '<br><br><center><h3>Pas de résultats</h3>
<p>Nous n\'avons trouvé aucun résultat pour votre requête '.$_GET['requete'].'.</p></center>';
 
// on libère le résultat
mysql_free_result($result);
 
echo "<center>";
if($limite != 0 && $limite >= 0+$nombre) {
	echo '<a href="'.$page.'?requete='.$requete.'&limite='.$limitedebut.'&requete2='.$requete2.'"><<</a> ';
    echo '<a href="'.$page.'?requete='.$requete.'&limite='.$limiteprecedente.'&requete2='.$requete2.'">'.$nombre.' réponses précédentes</a>';
echo " / ";
}
if($limitesuivante < $nb_resultats) {
    echo '<a href="'.$page.'?requete='.$requete.'&limite='.$limitesuivante.'&requete2='.$requete2.'">'.$nombre.' réponses suivantes</a>';
	echo ' <a href="'.$page.'?requete='.$requete.'&limite='.$limitefin.'&requete2='.$requete2.'">>></a>';
}
echo "</center>";
 
//echo "<br>Limite ".$limite;
//echo "<br>Limite suivante ".$limitesuivante;
//echo "<br>Nb_resultats ".$nb_resultats;
//echo "<br>Nombre ".$nombre;
}
 
?>
 
 
 
</body>
</html>
Merci d'avance