Order by
gabbermaniac
Messages postés
147
Statut
Membre
-
thunder413 Messages postés 169 Statut Membre -
thunder413 Messages postés 169 Statut Membre -
Bonjour,
J'aimerais que l'internaute puisse trier les résultats par date ASC ou date DESC par le biais par exemple d'un menu déourant (form) avec deux options: du + récent au plus ancien, du plus ancien au plus récent
Mon code est le suivant et par défaut je trie les données par date DESC
$req= $bdd->prepare('SELECT *
FROM articles, articles_themes
WHERE id=articles_id AND themes_id=?
ORDER BY date DESC
LIMIT '.(($cPage-1)*$perPage).','.$perPage.'');//
$req->execute(array($_GET['themes_id']));
while($donnees2 = $req->fetch()){
echo "<a href=\"{$donnees2["url"]}-{$donnees2["id"]}\"> ";
Que faut-il ajouter et modifier?
Merci
J'aimerais que l'internaute puisse trier les résultats par date ASC ou date DESC par le biais par exemple d'un menu déourant (form) avec deux options: du + récent au plus ancien, du plus ancien au plus récent
Mon code est le suivant et par défaut je trie les données par date DESC
$req= $bdd->prepare('SELECT *
FROM articles, articles_themes
WHERE id=articles_id AND themes_id=?
ORDER BY date DESC
LIMIT '.(($cPage-1)*$perPage).','.$perPage.'');//
$req->execute(array($_GET['themes_id']));
while($donnees2 = $req->fetch()){
echo "<a href=\"{$donnees2["url"]}-{$donnees2["id"]}\"> ";
Que faut-il ajouter et modifier?
Merci
4 réponses
salut
je te décrirai la méthode que je te propose en étape j'espère que ca t'aiderai
1- Au tous début de ton code tu suppose que l'utilisateur a envoyer son choix pour le tri par la methode GET ou POST c'est a ta guise mais ici je suppose que c'est GET
2- donc tu va nommer une variable $trie qui va contenir soit ASC soit DESC et si elle n'est pas envoyer ou n'exista pas tu la met par defaut a DESC ce qui donne
$trie = isset($_GET['trie'])?$_GET['trie']:'DESC';
3- On arrive maintenant au moment ou tu fait le select donc ton code va devenir
$req= $bdd->prepare('SELECT *
FROM articles, articles_themes
WHERE id=articles_id AND themes_id=?
ORDER BY date $trie
LIMIT '.(($cPage-1)*$perPage).','.$perPage.'');//
$req->execute(array($_GET['themes_id']));
while($donnees2 = $req->fetch()){
echo "<a href=\"{$donnees2["url"]}-{$donnees2["id"]}\"> ";
4- j'espere que ca t'aporte le bonheur
je te décrirai la méthode que je te propose en étape j'espère que ca t'aiderai
1- Au tous début de ton code tu suppose que l'utilisateur a envoyer son choix pour le tri par la methode GET ou POST c'est a ta guise mais ici je suppose que c'est GET
2- donc tu va nommer une variable $trie qui va contenir soit ASC soit DESC et si elle n'est pas envoyer ou n'exista pas tu la met par defaut a DESC ce qui donne
$trie = isset($_GET['trie'])?$_GET['trie']:'DESC';
3- On arrive maintenant au moment ou tu fait le select donc ton code va devenir
$req= $bdd->prepare('SELECT *
FROM articles, articles_themes
WHERE id=articles_id AND themes_id=?
ORDER BY date $trie
LIMIT '.(($cPage-1)*$perPage).','.$perPage.'');//
$req->execute(array($_GET['themes_id']));
while($donnees2 = $req->fetch()){
echo "<a href=\"{$donnees2["url"]}-{$donnees2["id"]}\"> ";
4- j'espere que ca t'aporte le bonheur
merci de ta réponse :) en faite il faut passer par une variable dans le order by
je testerai ce soir en rentrant
je testerai ce soir en rentrant
j'ai executé cela:
$trie = isset($_GET['trie'])?$_GET['trie']:'DESC';
var_dump($trie);//me renvoie string(4) "DESC" ou string(3) "ASC"
$req= $bdd->prepare('SELECT *
FROM articles, articles_themes
WHERE id=articles_id AND themes_id=?
ORDER BY date '.$trie.'
LIMIT '.(($cPage-1)*$perPage).','.$perPage.'');//
$req->execute(array($_GET['themes_id']));
A partir de là, comment construire un formulaire reprenant le ASC et le DESC pour que l'internaute puisse choisir, je ne sais pas mélanger du "form" et du "php"
Merci à vous
$trie = isset($_GET['trie'])?$_GET['trie']:'DESC';
var_dump($trie);//me renvoie string(4) "DESC" ou string(3) "ASC"
$req= $bdd->prepare('SELECT *
FROM articles, articles_themes
WHERE id=articles_id AND themes_id=?
ORDER BY date '.$trie.'
LIMIT '.(($cPage-1)*$perPage).','.$perPage.'');//
$req->execute(array($_GET['themes_id']));
A partir de là, comment construire un formulaire reprenant le ASC et le DESC pour que l'internaute puisse choisir, je ne sais pas mélanger du "form" et du "php"
Merci à vous
tu peut faire
avec les radios
avec SELECT
avec les radios
echo "<form action='ton_url' method='get'>"; echo "ASC <input type='radio' name='trie' value='asc'>"; echo "DESC <input type='radio' name='trie' value='desc'>"; echo "</form>";
avec SELECT
echo "<form action='ton_url' method='get'>"; echo "Choisissez un trie <select name="trie"> echo "<option value='desc'>DESC</option>"; echo "<option value='asc'>ASC</option>"; echo "</select>";