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, 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 01/10/2009, 13h47   #1 (permalink)
Nouveau membre du Club
 
Avatar de zouzou82
 
Date d'inscription: juillet 2008
Messages: 72
Par défaut Comment afficher des enregistrements par ordre alphabétique du nom

bonjour

je travail avec php

j'ai une table qui se compose de 3 champs: id, nom,plusinfos.
le champs plusinfo peut être vide.

je veux afficher des enregistrements par ordre alphabétique du nom, et afficher en premier les enregistrements qui ont le champ plusinfo n'est pas vide.
j'ai un problème avec ma raquette sql .
voila ma raquette :

Code :
Code :
SELECT * FROM  ecole  ORDER BY nom

il faut que j'ajoute la condition d'afficher les enregistrement qui ont plusinfos pas vide en premier avant les enregistrements qui ont le champ plusinfos vide et par ordre alphabétique asc du nom.


merci d'avance de m'aider

Dernière modification par zouzou82 ; 14/10/2009 à 17h15.
zouzou82 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/10/2009, 13h54   #2 (permalink)
Expert Confirmé Sénior

 
Avatar de Amara
 
Date d'inscription: juillet 2004
Localisation: Le Mans
Messages: 2 737
Par défaut

Pour les problèmes de raquettes il faut peut-être retendre le cordage

Sinon ça doit être une requête dans le genre si tu es en MySQL:

Code :
SELECT * FROM  ecole WHERE plusinfo IS NOT NULL  ORDER BY nom
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/10/2009, 14h02   #3 (permalink)
Nouveau membre du Club
 
Avatar de zouzou82
 
Date d'inscription: juillet 2008
Messages: 72
Par défaut

Citation:
Envoyé par Amara Voir le message
Pour les problèmes de raquettes il faut peut-être retendre le cordage

Sinon ça doit être une requête dans le genre si tu es en MySQL:

Code :
SELECT * FROM  ecole WHERE plusinfo IS NOT NULL  ORDER BY nom

oui je suis en My sql .

dans ce cas il m'affiche que les enregistrements par ordre alphabétique mais il ne dans pas la priorité au enregistrement qui on un plusinfo n'est pas vide.

pourquoi?
SELECT * FROM ecole WHERE plusinfos IS NOT NULL ORDER BY nom
zouzou82 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/10/2009, 14h05   #4 (permalink)
Membre du Club
 
Avatar de Cobaye
 
Date d'inscription: décembre 2002
Localisation: Toulouse
Âge: 34
Messages: 109
Envoyer un message via MSN à Cobaye Envoyer un message via Yahoo à Cobaye
Par défaut

tu as essayé :

Code :
SELECT * FROM  ecole  ORDER BY plusinfo, nom
un premier tri par plusinfo croissant, donc les null et vide sortiront en premier et ensuite un tri par nom
__________________
perso : http://www.olecorre.com -> un dico de termes informatiques
pro : http://www.olecorre.fr -> consultant, développeur, formateur

J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone. Mon rêve s'est réalisé : je ne sais plus comment utiliser mon téléphone. [Bjarne Stroustrup]
Cobaye est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/10/2009, 14h12   #5 (permalink)
Membre Confirmé
 
Avatar de bigltnt
 
Date d'inscription: mars 2007
Localisation: Paris (75010)
Âge: 25
Messages: 210
Par défaut

Citation:
dans ce cas il m'affiche que les enregistrements par ordre alphabétique mais il ne dans pas la priorité au enregistrement qui on un plusinfo n'est pas vide.

pourquoi?
Pour faire un "IS NOT NULL", ne faut-il pas que le champ soit déclaré en NULL par défaut ?
bigltnt est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/10/2009, 14h20   #6 (permalink)
Nouveau membre du Club
 
Avatar de zouzou82
 
Date d'inscription: juillet 2008
Messages: 72
Par défaut

Citation:
Envoyé par Cobaye Voir le message
tu as essayé :

Code :
SELECT * FROM  ecole  ORDER BY plusinfo, nom
un premier tri par plusinfo croissant, donc les null et vide sortiront en premier et ensuite un tri par nom
j'ai essaye avec ta raquette mais ca m'affiche les enregistrements par order de nom mais les plusinfo
, et en plus moi je veux pas le tri des champs de plusinfo ,je veux le tri par le champs nom .
zouzou82 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/10/2009, 14h24   #7 (permalink)
Nouveau membre du Club
 
Avatar de zouzou82
 
Date d'inscription: juillet 2008
Messages: 72
Par défaut

Citation:
Envoyé par bigltnt Voir le message
Pour faire un "IS NOT NULL", ne faut-il pas que le champ soit déclaré en NULL par défaut ?


pour quoi?
zouzou82 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/10/2009, 14h41   #8 (permalink)
Membre du Club
 
Avatar de Cobaye
 
Date d'inscription: décembre 2002
Localisation: Toulouse
Âge: 34
Messages: 109
Envoyer un message via MSN à Cobaye Envoyer un message via Yahoo à Cobaye
Par défaut

essai alors :

Code :
SELECT nom, IF(plusinfo<>'', 0, 1) as tri FROM ecole ORDER BY tri, nom
inverse l e 0 et 1 en fonction du sens que tu veux ! j'explique
si plusinfo est vide, je le met 1 sinon 0, je tri donc entre 1 et 0 et non sur le contenu de plusinfo
__________________
perso : http://www.olecorre.com -> un dico de termes informatiques
pro : http://www.olecorre.fr -> consultant, développeur, formateur

J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone. Mon rêve s'est réalisé : je ne sais plus comment utiliser mon téléphone. [Bjarne Stroustrup]
Cobaye est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/10/2009, 19h24   #9 (permalink)
Nouveau membre du Club
 
Avatar de zouzou82
 
Date d'inscription: juillet 2008
Messages: 72
Par défaut

Citation:
Envoyé par Cobaye Voir le message
essai alors :

Code :
SELECT nom, IF(plusinfo<>'', 0, 1) as tri FROM ecole ORDER BY tri, nom
inverse l e 0 et 1 en fonction du sens que tu veux ! j'explique
si plusinfo est vide, je le met 1 sinon 0, je tri donc entre 1 et 0 et non sur le contenu de plusinfo



merciiiiiiiiiiiiiiiiiiii
__________________
La plus grande erreur que puisse faire un homme est d'avoir peur d'en faire une.
zouzou82 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/10/2009, 17h41   #10 (permalink)
Invité de passage
 
Date d'inscription: octobre 2009
Messages: 7
Par défaut

bonjour, est ce que tu peux m'expliquer encore cette requête....
visiteur2 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 14/10/2009, 17h22   #11 (permalink)
Nouveau membre du Club
 
Avatar de zouzou82
 
Date d'inscription: juillet 2008
Messages: 72
Par défaut

Citation:
Envoyé par visiteur2 Voir le message
bonjour, est ce que tu peux m'expliquer encore cette requête....



salut visiteur2

désole pour le retard de la réponse pour ta question j'ai pas fait attention

le problème c'est qu'il faut afficher tous les enregistrements de la table par ordre alphabétique( nom ) et donner la priorité a les enregistrements qui on un plusinfos.

par exemple:

id,nom,plusinfos
1,Aecole1,ecole1.html
2,Aecole3
3,Becole2,ecole2.html


moi je veux que la requette m'affiche cet exemple comme ca :
1-3-2



merci d'avance de m'aider si tu peux
__________________
La plus grande erreur que puisse faire un homme est d'avoir peur d'en faire une.
zouzou82 est déconnecté   Envoyer un message privé Réponse avec citation
NEWS PHPFAQ PHPCours PHPSources PHPLivres PHPScripts PHPOutils PHPComparatifsZend Framework

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 11h44.


Vos questions techniques : forum d'entraide PHP - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.