Clause where dans un lien?

Résolu/Fermé
Sfc2000 - 7 oct. 2009 à 10:31
 Sfc2000 - 7 oct. 2009 à 11:55
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.

7 réponses

Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
7 oct. 2009 à 10:44
tu 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)
0
Je suis assez nul en php j'ai tous appris par moi même et a part les choses basique...

Je vais poser une question surement très basique mais je le mets ou le $_GET["tri"], sur mon lien dans ma page?
0
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?
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
7 oct. 2009 à 10:57
comme 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";
    }
}
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
7 oct. 2009 à 11:03
le $_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
0
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 :-/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
7 oct. 2009 à 11:28
tu voudrais quoi comme différents tris ? parce que la tu as deja un" order by".. tu voudrais avoir plusieurs "order by "différents ?
0
En fait ce que je voudrais c'est faire afficher une page contenant mes photos de Londres par exemple, une autre avec mes photos kenya sans devoir créer une page avec un where pour chaque lieu.

Londres et Kenya sont des ENUM dans ma base, ex.: (WHERE ('Lieu=kenya')
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
7 oct. 2009 à 11:42
$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...
0
Eh ben merci beaucoup pour ton aide j'ai ce qu il me faut.

Merci encore.

Salutations
0