Encapsulation multi-requête

Epoc22 Messages postés 198 Date d'inscription lundi 28 février 2005 Statut Membre Dernière intervention 14 novembre 2008 - 26 mars 2008 à 22:48
Epoc22 Messages postés 198 Date d'inscription lundi 28 février 2005 Statut Membre Dernière intervention 14 novembre 2008 - 31 mars 2008 à 20:00
Bonsoir,
Est-ce qu'il est possible d'encapsuler plusieurs requêtes dans une requête MySQL ? Je m'explique : j'aimerais executer une seule requête pour récupérer les informations principales que je veux et en plus, associer les ID de certains champs à une autre table pour récupérer directement la valeur mais dans une seule requête MySQL. Je sait que c'est possible, j'ai déjà cherché, mais je ne comprend pas le principe.
 Pourriez-vous m'aider ? Dites-moi ce qui n'est pas clair...

Merci

8 réponses

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
26 mars 2008 à 23:01
Salut,

Ce n'est pas possible avec l'extension mysql pour php. Par contre, c'est possible avec l'extension mysqli.

<hr size="2" width="100%" />Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
26 mars 2008 à 23:07
Oups, j'ai répondu trop vite en ne lisant que la moitié du message... hum...

Je devrais rajouter un truc dans ma signature : un lien vers la doc de MySQL...
Ce que tu veux, c'est faire une jointure.

Il est très difficile de te dire comment construire ta requête sans plus de précisions sur les tables dans lesquelles tu veux taper.
Je peux juste te donner des liens :
- http://dev.mysql.com/doc/refman/5.0/fr/select.html
- http://dev.mysql.com/doc/refman/5.0/fr/join.html

<hr size="2" width="100%" />Neige

Et n'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
0
yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 2
27 mars 2008 à 02:32
Salut,

Effectivement si tu souhaites qu'on puisse t'enligner un peu mieu, il faut que tu nous dise au moin:
À quoi ça va servir
La structure de tes tables (au moin les champs concernés)
Et le résultat que tu attends.

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
27 mars 2008 à 07:44
@yoman => "t'enligner" ??? Je ne sais pas ce que ça veur dire (aider, je suppose), mais ça n'a pas l'air bien... ;-) (Ah, ces canadiens!)

@epoc22 => le principe de base c'est celui-ci :

SELECT
    m.truc, t.bidule
FROM
    machin m
       INNER JOIN toto t ON t.clef_commune = m.clef_commune

reste à jouer avec INNER, LEFT, RIGHT etc...(voir la doc)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 2
27 mars 2008 à 09:03
Salut

He ben j'aurais plutot dû dire "te diriger vers la bonne solution"

Enligner quelqu'un (ou peut être alligner serait plus juste) , remettre la personne dans le droit chemin.
C'est une expression au sens figuré .

Et puis pour les différences entre la france et le canada en matière de français elle est pas énorme , et lorsque c'est <gras>bien
Comme par exemple j'ai un peu de mal a comprendre quand je vois "wo j'kiff tro la meuf t'la vu la ba a coté du keuf put1? dem1 jvè lui dire k'son mec jlui nik sa race" C'est un peu poussé à l'extrème (a peine) mais ça illustre très bien la plupart des skyblog par exemple Bon, aller, assez de vocabulaire pour aujourd'hui 

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
27 mars 2008 à 11:17
sti :)

select nom, prenom, (select ville from table2 where table2.id=table1.id_ville) as alias1 from table1

tu peux aussi faire ce genre de requetes, et t'as pas besoin de mysqli pour le faire

/**
* @author coucou747 <coucou747@hotmail.com>
* @see irc://cominweb.uni-irc.net/#programmation
*/
0
Epoc22 Messages postés 198 Date d'inscription lundi 28 février 2005 Statut Membre Dernière intervention 14 novembre 2008 1
27 mars 2008 à 18:39
Bonsoir,
j'ai lu toutes vos réponses et celle de coucou747 (ci-dessus) m'a particulièrement attirée.
Je la teste immédiatement.
Merci d'avance à tout le monde ^^
0
Epoc22 Messages postés 198 Date d'inscription lundi 28 février 2005 Statut Membre Dernière intervention 14 novembre 2008 1
31 mars 2008 à 20:00
Hello,j'ai fait ce truc : SELECT t1.radio_name, t1.radio_dateadded, t1.radio_url, t2.genre_name FROM ulradir_radios AS t1, ulradir_genres AS t2 WHERE t1.radio_approved 1 AND t1.radio_genre t2.genre_id
Et en fait ça marche pas :s
En fait j'ai 2 tables : une table ulradir_radios et ulradir_genres. Dans le champ radio_genre de la table ulradir_radios, j'ai un identifiant de type intqui est relié à la table ulradir_genres. Dans la table ulradir_genres j'ai 2 champs : genre_id et genre_name. Les champs radio_genre et genre_id sont donc reliés, l'objectif étant de récupérer le nom du genre à l'aide de ces champs.
0
Rejoignez-nous