Tableau à choix multiples pour liste
panershrek
-
Panershrek -
Panershrek -
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.
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.
A voir également:
- Tableau à choix multiples pour liste
- Liste déroulante excel - Guide
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Imprimer un tableau excel - Guide
7 réponses
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 »).
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 »).
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.
Mais bon, qu'il fasse déjà sans, ça sera pas mal, sinon il va s'embrouiller.
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.
$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.
Il faut gérer le tri avec la clause « ORDER BY ».
Tu as aussi des solutions en Javascript sans AJAX :
https://kryogenix.org/code/browser/sorttable/
Tu as aussi des solutions en Javascript sans AJAX :
https://kryogenix.org/code/browser/sorttable/
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
- à 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
Bienjoué avion-f16