Clause where dans un lien?
Résolu
Bonjour,
J'aurais aimer savoir si on pouvais utiliser la clause WHERE dans un lien.
J'ai beaucoup de donnée qui son classé avec ENUM dans ma base et au lieu de faire 50 pages avec une clause where j'aimerais que mon lien resort mon tri, est ce possible?
Merci d'avance pour votre aide.
J'aurais aimer savoir si on pouvais utiliser la clause WHERE dans un lien.
J'ai beaucoup de donnée qui son classé avec ENUM dans ma base et au lieu de faire 50 pages avec une clause where j'aimerais que mon lien resort mon tri, est ce possible?
Merci d'avance pour votre aide.
Configuration: Windows XP Firefox 3.5.3
7 réponses
-
Eh ben merci beaucoup pour ton aide j'ai ce qu il me faut.
Merci encore.
Salutations -
Contributeur
$where=''; if(isset($_GET["Lieu"])) { if ($_GET["Lieu"]=="kenya" || $_GET["Lieu"]=="londres" ) { $where=" WHERE lieux = 'kenia' "; } } $str_LiensPhoto = "SELECT * FROM LiensPhoto ".$where." ORDER BY Titre ASC LIMIT 0, 300";
tu pourrais aussi faire$where=''; if(isset($_GET["Lieu"])) { $where = " WHERE lieu ='".$_GET["Lieu"]."' "; } $str_LiensPhoto = "SELECT * FROM LiensPhoto ".$where." ORDER BY Titre ASC LIMIT 0, 300";
mais j'ai peur qu'il puisse y avoir des injections SQL. Je pense pas que le risque soit grand... -
Contributeurtu voudrais quoi comme différents tris ? parce que la tu as deja un" order by".. tu voudrais avoir plusieurs "order by "différents ?
-
Contributeurle $_GET c'est pas sur le lien que tu le mets. ton lien dessemblera à page.php?tri=par_date
le $_GET sera dans le fichier page.php-
Pour le liens ok.
Mais c est au niveau de ma page que ca pose problème...
echo "<table width='100%' heigth='100%' border='0' cellspacing='0' cellpadding='0'>"; $table="LiensPhoto"; $str_LiensPhoto = "SELECT * FROM LiensPhoto ORDER BY Titre ASC LIMIT 0, 300"; $result_LiensPhoto =mysql_query ($str_LiensPhoto); while ($LiensPhoto =mysql_fetch_object($result_LiensPhoto)) { echo "<tr valign='top'>"; echo "<td align='left'></td>"; echo "<td width='5'></td>"; echo "<td class='texte' width='150'><b><a href='home.php?idp=".$LiensPhoto->Lien."' class='liens'>".$LiensPhoto->Titre."</a></td><td class='texte'>[".$LiensPhoto->NbPhotos." photos]</td></tr>"; $total_ke+=$LiensPhoto->NbPhotos; } echo "</table>";
C'est ou je ne sais pas ou mettre le if et le get malheureusement et tous ces bouquin acheté ne maide pas :-/
-
-
Contributeurcomme je te l'ai dis, tu fais un passage de paramtetre dans l'url, et ensuite, tu ponds un bout de code genre:
if(isset($_GET["tri"])) { if ($_GET["tri"]=="par_date") { $requete.=" ORDER by date"; } } -
Ok merci du conseil, donc c'est pas possible de faire comme ca sans avoir une bonne securité?
Aurais tu une autre suggestion pour mon problème? -
Contributeurtu peux rajoute run parametre dans l'url (genre page.php?tri=par_date)
et récuperer la valeur en faisant $_GET["tri"] (en php)
ne mets pas directement du SQL dans ton lien, ce serait une énorme faille de sécurité (injections SQL)