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.
Configuration: Windows XP
Firefox 3.5.3

7 réponses

  1. Eh ben merci beaucoup pour ton aide j'ai ce qu il me faut.

    Merci encore.

    Salutations
    0
    1. 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...
      0
      1. Contributeur
        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
        1. 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
      2. Contributeur
        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
        1. 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
      3. Contributeur
        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
        1. 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
          1. Contributeur
            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
            1. 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