Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
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 10/01/2011, 16h06   #1
Nouveau Membre du Club
 
Inscription : juillet 2007
Messages : 117
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 117
Points : 25
Points : 25
Par défaut Retourner un tableau à plusieurs dimension?

Bonjour,

J'ai deux tables:

table: client

- idClient
- nom

table: image

-idImage
-fk_idClient
-url
-description

Pour retourner les images d'un client je fais uen requête de ce style:

SELECT * FROM image WHERE fk_idClient=1

Cela me renvoie un tableau à une dimension.

Maintenant j'aimerais faire une requête qui me renvoie toutes les images de tout les client, un tableau à plusieurs dimensions:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
Array (
    0 => array (
        [idCLient] => 1
        [nom] => Nom 1
        [images] => array (
            0 => array (
               [idImage]
               ...
            )
        )
    )
 
    1 => array (
        [idCLient] => 2
        [nom] => Nom 2
        [images] => array (
            0 => array (
               [idImage]
               ...
            )
        )
    )
)
Possible de faire cela en une seule requête?

Merci d'avance
nesswaw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2011, 20h12   #2
Membre Expert
 
Avatar de Fench
 
Inscription : mai 2002
Messages : 1 654
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : mai 2002
Messages : 1 654
Points : 1 807
Points : 1 807
Bein pour la requête tu peux demander sur forum SQL mais celà doit être du genre:
Code :
1
2
 
SELECT * FROM image WHERE (SELECT fk_idClient FROM client)
suivant le prototype que tu utilises (mysql, posgres, ect ...)
puis ensuite tu boucles sur les lignes, en fonction de la Bdd utilisée
__________________
Actuellement AI à l'INRA
fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)
Fench est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2011, 20h18   #3
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Une requete SQL ne renvoit pas plusieurs niveaux de resultat.
C'est a toi de construire ton tableau PHP a partir des données lineaires recoltées.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2011, 20h57   #4
Membre Expert
 
Avatar de Fench
 
Inscription : mai 2002
Messages : 1 654
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : mai 2002
Messages : 1 654
Points : 1 807
Points : 1 807
Là ya pas plusieurs niveaux, puisque ta requête va lire sur chaque client les images ou alors c SQL que tu peux pas imbriquer bref j'sais plus... a essayer.
Désolé sinon pour la mauvaise voie

Pour la boucle faut mémoriser chaque id_client pour effectuer le changement
__________________
Actuellement AI à l'INRA
fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)
Fench est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h59.


 
 
 
 
Partenaires

Hébergement Web