Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/05/2006, 23h17   #1
Membre éclairé
 
Inscription : juillet 2005
Messages : 1 221
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 1 221
Points : 398
Points : 398
Par défaut [SQL] Puis-je insérer une variable PHP pour déterminer ORDER BY ?

Bonjour,

J'ai une requête sql comme ça :
Code :
SELECT id FROM commentaire WHERE id='".$numero." ORDER BY id DESC'
Je voudrais que DESC soit déterminé par une variable qui prennent la valeur DESC ou ASC.

Est-il possible de faire cela et si oui quelle est la syntaxe correcte s'il vous plait ?
__________________
C'est pas parce que j'ai tort que vous avez raison.
psychoBob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2006, 23h31   #2
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
A ma connaissance oui c'est possible et la syntaxe c'est la même que d'habitude c'est-à-dire par exemple :
Code :
1
2
3
 
$ordre = $_POST['order'];
SELECT id FROM commentaire WHERE id='".$numero." ORDER BY id ".$ordre;
Mais ta requete ne risque pas de te donner beaucoup d'enregistrement (1) vu que tu selectionnes ton id en fonction de ton id en ordant par ton id
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2006, 00h13   #3
Membre éclairé
 
Inscription : juillet 2005
Messages : 1 221
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 1 221
Points : 398
Points : 398
Citation:
Mais ta requete ne risque pas de te donner beaucoup d'enregistrement (1) vu que tu selectionnes ton id en fonction de ton id en ordant par ton id
Bah c'est très intéressant ce que tu me dis là très cher Kerod because justement je me demandais pourquoi ma requête voulait pas obéir.

C'est même sans doute paranormal parce que, zyeute un peu ça :
Code :
1
2
 
$R="SELECT id FROM commentaire WHERE idmembre='".$numero." ORDER BY id DESC' "
Et bien ça ne donne rien, mais ça déclenche pas d'erreur.
Pourtant y'a un ' qui s'est glissé à la fin.
Et bein si je l'enlève, mon pc fond.

Blague à part, pourquoi ma requête veut pas faire ce que je lui demande ?
NOTE : j'ai mis WHERE id dans mon premier exemple mais dans mon code c'est WHERE idmembre et c'est pas du tout comme id (forcément).

Bah si je met DESC ça affiche par DESC, mais si je met ASC ça affiche quand même par DESC.

ça c'est le vrai code, ouvrez grand les yeux :
Code :
1
2
3
4
5
6
7
8
 
if(!isset($_POST['modifier']) OR $_POST['affichage']=="normal")
{//requete par defaut
$affiche="SELECT id,idDef,titre 
 FROM commentaire 
WHERE idMembre='".$numeroConnexion." 
ORDER BY id DESC  '"
;}
Poétique n'est-il pas? Cela étant le résultat n'est point celui escompté.
__________________
C'est pas parce que j'ai tort que vous avez raison.
psychoBob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2006, 00h18   #4
Membre éclairé
 
Inscription : juillet 2005
Messages : 1 221
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 1 221
Points : 398
Points : 398
Ah j'ai pigé, mais je vais voir si vous avez de bon yeux


J'essai le code php dans la requête pendant ce temps.
__________________
C'est pas parce que j'ai tort que vous avez raison.
psychoBob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2006, 00h56   #5
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
C'est pas plutot
Code :
1
2
3
4
 $affiche="SELECT id,idDef,titre 
 FROM commentaire 
WHERE idMembre='".$numeroConnexion."' 
ORDER BY id DESC";
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2006, 01h28   #6
Membre éclairé
 
Inscription : juillet 2005
Messages : 1 221
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 1 221
Points : 398
Points : 398
Ouais on te l'as souflé.

Dis moi Kerod, je regarde ta requête que j'ai pas encore testé, t'es sur que c'est très régulier comme écriture ton ORDER BY id ".$ordre; ?

Y'a même pas de " pour fermer ni de .$ordre.; etc...
__________________
C'est pas parce que j'ai tort que vous avez raison.
psychoBob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2006, 01h41   #7
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Ben en tout cas c'est comme ca que j'écris mes requête de ce style car je me suis toujours demandé pourquoi devrais-je mettre le ."" à la fin...Et ca fonctionne très bien mais si tu veux bien faire :
Code :
 SELECT id FROM commentaire WHERE id='".$numero."' ORDER BY id ".$ordre." ";
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h49.


 
 
 
 
Partenaires

Hébergement Web