Tableau à choix multiples pour liste

Bonjour,

j'aimerais faire un tableau de la facon suivante pour un site de videos:

les + recentes | les mieux notés | les + vues

[liste des vidéos]

je possède deja les scripts php pour organiser les vidéos selon les criteres mais je ne sais pas comment les réunir dans un meme tableau et qui changent selon le choix (avec si possible le type ( +recentes +vues ..etc) en surbrillance.

Merci d'avance.

7 réponses

  1. Tu peux passer en argument GET ce par quoi tu veux trier.
    Exemples :
    - Pour la date : /videos.php?orderby=date
    - Pour la note : /videos.php?orderby=note
    - Pour le nb. de vues : /videos.php?orderby=vue

    À toi d'utiliser la variable $_GET['orderby'] pour trier les résultats dans ta requête SQL (clause « ORDER BY »).
    0
    1. C'est une bonne solution si ça ne te dérange pas de rafraichir la page pour changer le critère de tri
      Bienjoué avion-f16
      0
  2. Pour éviter le rafraichissement il y a AJAX.
    Mais bon, qu'il fasse déjà sans, ça sera pas mal, sinon il va s'embrouiller.
    0
    1. Merci pour vos reponse, mais je ne cherche pas à savoir comment les trier, je ne sais pas si vous avez lu mon post en entier, comme je l'ai dis j'ai deja les scripts ex:

      $query = "SELECT moviess.moviesid as id, movies.name as name, AVG(rating) as average FROM moviess LEFT JOIN ratings USING (gameid) WHERE 'display' = '1' GROUP BY ratings.movieid ORDER BY average DESC, movie.plays DESC LIMIT 5";

      etc etc

      ce que je veux c'est savoir comment creer la table pour les "assembler" et si possible sans avoir à rafraichir la page vu que c'est une petite partie.

      Merci encore.
      0
      1. OK, tu peux fournir la structure de tes tables ?
        0
        1. Alors voila,

          - à la base c'est "figé" et organisé par ordre alphabetique:

          <?php
          $dl="celll";
          $i=0;

          $q="SELECT * FROM games WHERE type='" . $type . "' AND 'display' = '1' ORDER BY name ASC LIMIT $true_start, $npp";
          $rx=mysql_query($q);
          $nr=@mysql_num_rows($rx);

          while($row=mysql_fetch_array($rx)){
          $game_id=stripslashes($row['gameid']);
          $game_title=stripslashes($row['name']);
          $game_description=stripslashes($row['description']);
          $small_thumbnail=stripslashes($row['sthumb']);

          $seoURL = "/game/" . $game_id . "/" . truncateName($row['name']) . ".html";

          $i++;

          if($i%2==0){
          $dl="celll";
          }
          else{
          $dl="celld";
          }

          if($i%2!=0){
          echo "<tr class=$dl >";
          }

          ?>

          - et voici le code pour organiser par les + recents:

          <?php
          $query="SELECT 'gameid', 'name' FROM games WHERE type='$type' ORDER BY 'gameid' DESC LIMIT 5";
          $result=mysql_query($query);

          while($row=mysql_fetch_array($result)){

          if(stripslashes($row['name'])!=""){
          echo "\t\t\t\t\t\t\t\t\t\t<li class=\"reverseindent\"><a href=\"game.php?id=" . stripslashes($row['gameid']) . "\" class=\"link\">" . stripslashes($row['name']) . "</a></li>\n";
          }

          }
          ?>

          - le code pour les mieux notés:

          <?php
          $query = "SELECT games.gameid as id, games.name as name, games.type, AVG(rating) as average FROM games LEFT JOIN ratings USING (gameid) GROUP BY ratings.gameid HAVING type = '$type' ORDER BY average DESC, games.plays DESC LIMIT 5";
          $result = mysql_query($query);
          echo mysql_error();

          while($row = mysql_fetch_assoc($result))
          {
          echo "\t\t\t\t\t\t\t\t\t\t<li class=\"reverseindent\"><a href=\"game.php?id=" . stripslashes($row['id']) . "\" class=\"link\">" . stripslashes($row['name']) . "</a></li>\n";
          }
          ?>

          - Et enfin pour les + vue:

          <?php
          $dl="celll";
          $i=0;

          $q="SELECT * FROM games WHERE 'display' = '1' AND gameid!='".$id."' ORDER BY plays DESC LIMIT 0, 16";
          $rx=mysql_query($q);
          $nr=@mysql_num_rows($rx);

          while($row=mysql_fetch_array($rx)){
          $game_id=stripslashes($row['gameid']);
          $game_title=stripslashes($row['name']);
          $game_description=stripslashes($row['description']);
          $small_thumbnail=stripslashes($row['sthumb']);
          $large_thumbnail=stripslashes($row1['lthumb']);

          $i++;

          if($i%8==0){
          $dl="celll";
          }
          else{
          $dl="celld";
          }

          if($i%8!=0){
          //echo "<tr class=$dl >";
          }

          ?>

          Je ne sais pas comment les reunir sous la forme de la premiere fonction avec choix multiples
          0