RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Srv: irc.moteurprog.com
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Requete avec classement

Forum : PHP - BDD
Sous Catégorie : BDD
Type du sujet : Sujet Normale
FAQ : FAQ PHP - BDD

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGE : [1]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM PHP - BDD

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
gexti
Superviseur :
- Java
Modérateur :
- PHP
- Moteurprog
- Peer to peer
Avatar de gexti
Inscrit : 29/04/2004
Messages : 4746
Message
#68276
Posté le 30/06/05 à 18:17
Bonjour à tous,

J'ai une requete sql qui sélectionne une liste de musique classée par Artiste. Cependant cetaines musqiues n'ont pas d'artiste acr ce champ n'est pas obligatoire dans la base de données.

Le problème c'est qu'à l'affichage, je voudrais obtenir mes musiques dans l'ordre chiffre(0-9),a,b,c... et seulement à la fin les musiques sans artistes.

Comment faire pour ma requete en php pour que sql comprenne cela et me mette les musqiues sans artiste à la fin de ma liste tout en gardant l'ordre alphabétique pour les autres musiques.

je ne veux pas perdre mes musiques sans artistes.

Merci de votre aide

Smiley
__________________________
Gexti
Image

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

Ishaan
Superviseur :
- Développemen.
Modérateur :
- PHP
- VB .NET
- MySQL
- Ajax
Chef de projet(s) :
- Webkomx
- Team MoteurProg

Avatar de Ishaan
Inscrit : 09/07/2004
Messages : 497
Message
#68294
Posté le 30/06/05 à 22:40
perso je vois pas comment dire ça en sql, par contre, en php c faisable..

dans ta boucle d'extraction de données de ton tablo (le mysql_fetch_array), tu teste si y a un auteur, si oui tu l'affiche, sinon tu stocke les données dans un autre tableau...
a la sortie de ta boucle, tu rentre dans une deuxieme boucle qui s'occupe des musiques sans artistes...

ça me parait une solution simple en PHP.
par contre si tu trouves comment faire en sql, je suis preneur ;)
__________________________
....... Curtis: RTS 3D .......
Image Image

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Mab
Modérateur :
- PHP
- IRC
Avatar de Mab
Inscrit : 13/05/2004
Messages : 418
Message
#68332
Posté le 01/07/05 à 11:19
Humm .. je ne suis pas sur, mais y'aurait un tour à faire du coté de join et union :

[quote] (SELECT * from musique WHERE artiste !='' ORDER BY name) UNION (SELECT * from musique WHERE artiste='' ORDER BY name)[/quote]

Je pense que c'est une solution bourrine également, comme celle d'Ishaan et que y'a surement plus simple, je vais essayer de chercher ailleur que dans ma mémoire :)

++

Mab
__________________________
[img]http://simous.chez.tiscali.fr/images/bansms.gif[/img]

ERREUR BBCODE SUR CE MESSAGE :
- La valeur de la balise "quote" n'est pas correcte !

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

gexti
Superviseur :
- Java
Modérateur :
- PHP
- Moteurprog
- Peer to peer
Avatar de gexti
Inscrit : 29/04/2004
Messages : 4746
Message
#68541
Posté le 04/07/05 à 11:12

$query="(SELECT Code, Titre, Artiste, Logo, Source FROM tonalites WHERE Artiste !='' ORDER BY Artiste) UNION (SELECT Code, Titre, Artiste, Logo, Source FROM tonalites WHERE Artiste='' ORDER BY Artiste)";


J'ai fait ça mais ça marche pas Mab... Il ne classe pas la première partie de la requete.
Alors j'ai bidouillé cela :

(SELECT Code, Titre, Artiste, Logo, Source FROM tonalites WHERE Artiste !="" ORDER BY Artiste LIMIT 1000) UNION (SELECT Code, Titre, Artiste, Logo, Source FROM tonalites WHERE Artiste ="")


Et là ça fonctionne, cependant j'ajoutais avant :

$query.=" ASC limit 0,10";

dynamiquement pour un afficahe dix par dix.

Comment rajouter ce ASC limit à la fin de ma requete et qu'elle fonctionne toujours ??

Je continue à chercher, mais si vous avez d'autres idées...
__________________________
Gexti
Image

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

gexti
Superviseur :
- Java
Modérateur :
- PHP
- Moteurprog
- Peer to peer
Avatar de gexti
Inscrit : 29/04/2004
Messages : 4746
Message
#68545
Posté le 04/07/05 à 12:03
J'ai trouvé !!

En virant le ASC ça fonctionne nickel !!!

Smiley
__________________________
Gexti
Image

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Mab
Modérateur :
- PHP
- IRC
Avatar de Mab
Inscrit : 13/05/2004
Messages : 418
Message
#68556
Posté le 04/07/05 à 14:21
Hmm c'est assez bizzard, je l'ai fait sur ma bdd , ça avait l'air de marcher ...
Tant mieux si tu as trouvé :) c'est le principal.

++

Mab
__________________________
Image

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

gexti
Superviseur :
- Java
Modérateur :
- PHP
- Moteurprog
- Peer to peer
Avatar de gexti
Inscrit : 29/04/2004
Messages : 4746
Message
#68557
Posté le 04/07/05 à 14:24
Argh merde, je réouvre le sujet.

ça marche sur mon serveur qui est en php5 mais ça marche pas sur le serveur ou va se retrouver le site au final.

C'est le UNION de la requete qui fout le borderl ??
__________________________
Gexti
Image

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

gexti
Superviseur :
- Java
Modérateur :
- PHP
- Moteurprog
- Peer to peer
Avatar de gexti
Inscrit : 29/04/2004
Messages : 4746
Message
#68569
Posté le 04/07/05 à 15:12
Ok, il faut une version de sql > 4.x et sur ma machine c'est bon, mais pas sur le serveur final du site.

Grrr, j'en ai ras le bol qu'on me mette des batons dans les roues !!

Smiley
__________________________
Gexti
Image

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Boumeur
Membre du club
Inscrit : 08/04/2005
Messages : 592
Message
#68571
Posté le 04/07/05 à 15:20
dsl, je n'ai pas tout lu, mais j'ai regardé la requete posté par mab, et c'est une sous requete sur la meme table
en effet mysql<4.qqch ne gere pas les sous requetes.
essaye de voire avec une jointure ( comme l'a deja dit mab...)
( NATURAL JOIN me semble approprié dans ton cas Smiley )
__________________________
la FAQ javascript :
http://www.forum.moteurprog.com/?url=FAQ.php&langage=Javascript
mon site préféré sur le DHTML
http://www.dhteumeuleu.com/

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Ishaan
Superviseur :
- Développemen.
Modérateur :
- PHP
- VB .NET
- MySQL
- Ajax
Chef de projet(s) :
- Webkomx
- Team MoteurProg

Avatar de Ishaan
Inscrit : 09/07/2004
Messages : 497
Message
#68717
Posté le 05/07/05 à 15:22
moi j'ai eu le meme genre de problème et pour simplifier

mysql 4.0.22 (de free) ne supporte pas les sous-requêtes

elles ne sont supportées qu'à partir de la version 4.1.x

Moi ça me fait drôlement chier parce que je peux pas faire ma requête autrement.
Il me reste deux solutions, mettre ma base sur mon pc et en mysql5, ou alors bidouiller des strings dans tous les sens en PHP pour essayer de contourner le problème...

ou alors on spamm tous free pour qu'ils passent AU MOINS en mysql 4.1.x ^^
__________________________
....... Curtis: RTS 3D .......
Image Image

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM PHP - BDD



    PAGE : [1]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.