A voir également:
- Tableau à choix multiples pour liste
- Liste déroulante de choix excel - Guide
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Liste déroulante en cascade - Guide
7 réponses
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 505
30 mai 2010 à 22:05
30 mai 2010 à 22:05
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 »).
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 505
30 mai 2010 à 23:17
30 mai 2010 à 23:17
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.
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 505
30 mai 2010 à 23:41
30 mai 2010 à 23:41
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
briiiiix
Messages postés
575
Date d'inscription
vendredi 24 octobre 2008
Statut
Membre
Dernière intervention
1 juin 2010
18
30 mai 2010 à 23:53
30 mai 2010 à 23:53
OK, tu peux fournir la structure de tes tables ?
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
30 mai 2010 à 22:49
Bienjoué avion-f16