Accueil > Forum > > > > php/mysql requete plusieurs tables et bases
php/mysql requete plusieurs tables et bases
vendredi 7 octobre 2005 à 11:52:30 |
php/mysql requete plusieurs tables et bases

fredo35m
|
Bonjour,
j'aimerais savoir comment faire pour requeter sur plusieurs tables et bases, je m'explique :
BASE 1: Requête 1 : Sélection des CODES COMMUNES selon critère utilisateur sur la TABLE 1
Requete 2 : Sélection des CODES ACTIVITES selon critère utilisateur sur la TABLE 2 (jusque là ça va)
BASE 2 Requête 3 : Sélection des CODES ACTIVITES et des CODES COMMUNES dans ma table 3 selon les 2 premières requetes afin d'obtenir les EFFECTIFS PAR COMMUNE ET ACTIVITES.
Merci d'avance pour votre aide !!!!
Voici une partie de mon code (je sais pas si c'est très utile mais bon..)
Requête 1 : //SELECTION DU TERRITOIRE SOUHAITE ET LA LISTE DU TERRITOIRE $query_req = mysql_query("select distinct $table_serveur.TYPE_ELT, $table_serveur.CODE_GROUPE, $table_serveur.CODE_REGROUPT as CODE_REGROUPT, $tabled_serveur.NOM_REGROUPT, $tabled_serveur.CODE_REGROUPT as CODE_REGROUPTb from $table_serveur, $tabled_serveur where $table_serveur.CODE_REGROUPT='$territoire' and $tabled_serveur.CODE_REGROUPT=$table_serveur.TYPE_ELT and $table_serveur.CODE_GROUPE='$CODE_GROUPEB'");
if (!$query_req) { die('Requête A invalide : ' . mysql_error()); } if ($query_req) { echo "OK REQ A";} while ($datareq = mysql_fetch_array($query_req)) { $query_reqb=mysql_query("select CODE_ELT, CODE_GROUPE from $tableb_serveur where $tableb_serveur.CODE_GROUPE='$datareq[CODE_GROUPE]'"); } if (!$query_reqb) { die('Requête B invalide : ' . mysql_error()); exit();} if ($query_reqb) { echo "OK REQ B";}
Requête 2 : //SELECTION DES CODES NAF CORRESPONDANT A LA DEMANDE DU CODE $query_reqnaf = mysql_query(' select NAF700, '.$VALEUR_CD.', '.$act.' from '.$tablec_serveur.' where '.$act.'='.$VALEUR_CD.' '); if (!$query_reqnaf) { die('Requête A NAF invalide : ' . mysql_error()); } if ($query_reqnaf) { echo "OK REQ A NAF";}
Requete 3 (pas bonne) : //SELECTION DANS BASE 2 if (!mysql_select_db($database_local, $local)) { echo "ERREUR BASE LOCAL"; exit(); } while ($datareqb = mysql_fetch_array($query_reqb)) { $query_reqnafb=mysql_query('select distinct ANNEE, NAF700, DECOM, EMP_T_TOTA from '.$table_local.' where DECOM='.$datareqb[CODE_ELT].' GROUP BY NAF700, ANNEE ORDER BY NAF700, ANNEE'); } while ($datareqnafb = mysql_fetch_array($query_reqnafb)) { $query_reqnafc=mysql_query('select distinct ANNEE, NAF700, DECOM, SUM(EMP_T_TOTA) as somme from '.$table_local.' where NAF700="'.$datareqnafb[NAF700].'" GROUP BY NAF700, ANNEE ORDER BY NAF700, ANNEE'); }
|
|
vendredi 7 octobre 2005 à 14:29:01 |
Re : php/mysql requete plusieurs tables et bases

fredo35m
|
j'ai essayé un truc comme ça et ça marche pas non plus !!!! J'ai beau tourner dans tous les sens j'y arrive pas !!! Quelqu'un a une idée pour ça ??? merci je désespère !!!
while ($datareqb = mysql_fetch_array($query_reqb)) { while ($datareqnaf = mysql_fetch_array($query_reqnaf)) { $query_reqnafb=mysql_query('select ANNEE, NAF700, DECOM, SUM(EMP_T_TOTA) as somme from '.$table_local.' where NAF700="'.$datareqnaf[NAF700].'" and DECOM='.$datareqb[CODE_ELT].' GROUP BY NAF700, ANNEE ORDER BY NAF700, ANNEE'); } }
|
|
vendredi 7 octobre 2005 à 14:46:42 |
Re : php/mysql requete plusieurs tables et bases

davwart
|
Fred...
pourrais tu essayer de simplifier ton pb et donner un exemple "bete"?
parce que là, perso, ça me donne mal à la tete rien que de lire ton truc ;) ------------------------------------- Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
|
|
vendredi 7 octobre 2005 à 15:02:45 |
Re : php/mysql requete plusieurs tables et bases

fredo35m
|
Dac !!! Alors en faite, j'ai 3 tables. dans la 1ere table j'ai 2 vairables : CODE_COMMUNE et CODE_GROUPE
1ère requete : sélection des CODE_COMMUNE correspondant à un CODE_GROUPE particulier (donné par l'utilisateur) -> ça ça marche $query_reqb=mysql_query("select CODE_ELT, CODE_GROUPE from $tableb_serveur where $tableb_serveur.CODE_GROUPE='$datareq[CODE_GROUPE]'");
dans une 2ème table j'ai 2 variables : CODE_ACTIVITE et GROUPE_ACTIVITE
2ème requète : sélection des CODE_ACTIVITE correspondant à un GROUPE d'aCTIVITE particulier (donné par l'utilisateur) -> ça ça marche. $query_reqnaf = mysql_query(' select NAF700, '.$VALEUR_CD.', '.$act.' from '.$tablec_serveur.' where '.$act.'='.$VALEUR_CD.' ');
dans une 3ème table j'ai 3 variables : CODE_COMMUNE, CODE_ACTIVITE, EFFECTIF 3ème requête : je souhaite pouvoir effectuer une requête sur cette table en fonction des résultats des 2ères requêtes afin d'en retenir une somme d'effectif. C'est à dire que je souhaite sélectionner les CODE_COMMUNE et les CODE_ACTIVITE dans ma table 3 correspondant aux 2 premières requetes. j'ai essayé un truc du style là mais ça ne marche pas : while ($datareqb = mysql_fetch_array($query_reqb)) { while ($datareqnaf = mysql_fetch_array($query_reqnaf)) { $query_reqnafb=mysql_query('select ANNEE, NAF700, DECOM, SUM(EMP_T_TOTA) as somme from '.$table_local.' where NAF700="'.$datareqnaf[NAF700].'" and DECOM='.$datareqb[CODE_ELT].' GROUP BY NAF700, ANNEE ORDER BY NAF700, ANNEE'); } }
Je sais pas is j'ai été plus clair???? merci de ton aide !!!
|
|
vendredi 7 octobre 2005 à 15:06:35 |
Re : php/mysql requete plusieurs tables et bases

fredo35m
|
un truc que j'ai pas dit c'est que les les tables 1 et 2 sont dans une base et que la table 3 est dans une autre ....
|
|
vendredi 7 octobre 2005 à 15:19:49 |
Re : php/mysql requete plusieurs tables et bases

davwart
|
Salut..
merci d'avoir fait l"effort de preciser ta question
je vais alros faire l'effort de tenter de répondre.
si je comprends bien.
tu as deux entrées de l'utilisateur: $A1 et $B1
tu as trois tables:
table A: champ A1 et champ A2
table B: champ B1 et champ B2
table C: champ A2 et champ B2 et champ C1
tu veux que à partir de $A1 et $B1 tu retrouves C1.
Voici comment je ferais:
query="SELECT C.C1 FROM A,B,C WHERE A.A1=$A1 AND B.B1=$B1 AND C.A2=A.A2 AND C.B2=B.B2"
(les variables avec les $ sont tes variables d'entrées..)
------------------------------------- Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
|
|
vendredi 7 octobre 2005 à 15:26:53 |
Re : php/mysql requete plusieurs tables et bases

davwart
|
pour les probleme de changement de base, rajoute le nom de tes base de données devant tes tables
-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
|
|
vendredi 7 octobre 2005 à 15:28:52 |
Re : php/mysql requete plusieurs tables et bases

fredo35m
|
oui en fait en écrivant ma "précision" je me suis aperçu de la technique à adopter mais est-il possible de faire un select sur deux bases en même temps ?? car mon problème est là désormais je sais pas comment lui dire que telle table se trouve sur telle base etc ...!! merci pour ta réponse en tout cas !!! ça commence à me débloquer !!!!
|
|
vendredi 7 octobre 2005 à 16:06:42 |
Re : php/mysql requete plusieurs tables et bases

davwart
|
oui oui, mets le nom de ta db devant tes tables
-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
|
|
vendredi 7 octobre 2005 à 17:42:07 |
Re : php/mysql requete plusieurs tables et bases

fredo35m
|
Bon j'y suis presque mais j'ai encore un petit soucis, je mets ma requête pour t'expliquer :
SELECT $cnx.$table_groupes.TYPE_ELT, $cnx.$table_groupes.CODE_GROUPE, $cnx.$table_groupes.CODE_REGROUPT, $cnx.$table_regroupt.NOM_REGROUPT, $cnx.$table_regroupt.CODE_REGROUPT, $cnx.$table_det_grp.CODE_GROUPE, $cnx.$table_det_grp.CODE_ELT, $cnx.$table_naf.NAF700, $cnx.$table_naf.NAF60, $unedic.$table_unedic.DECOM, $unedic.$table_unedic.NAF700, $unedic.$table_unedic.ANNEE, SUM($unedic.$table_unedic.EMP_T_TOTA) as somme FROM $cnx.$table_groupes, $cnx.$table_regroupt, $cnx.$table_det_grp, $cnx.$table_naf, $unedic.$table_unedic WHERE $cnx.$table_groupes.CODE_REGROUPT='$territoire' and $cnx.$table_groupes.TYPE_ELT=$cnx.$table_regroupt.CODE_REGROUPT and $cnx.$table_groupes.CODE_GROUPE=$cnx.$table_det_grp.CODE_GROUPE and $cnx.$table_groupes.CODE_GROUPE='$CODE_GROUPEB' and $unedic.$table_unedic.DECOM=$cnx.$table_det_grp.CODE_ELT and $cnx.$table_naf.NAF60='$VALEUR_CD' and $unedic.$table_unedic.NAF700=$cnx.$table_naf.NAF700 GROUP BY $unedic.$table_unedic.NAF700, $unedic.$table_unedic.ANNEE ORDER BY $unedic.$table_unedic.NAF700, $unedic.$table_unedic.ANNEE ");
J'ai un problème avec la partie en gras, si je l'enlève ça marche bien sauf qu'il ne fait pas le lien entre la NAF700 de la table unedic et la NAF700 de la table naf. (=CODE_ACTIVITE), mais quand je le mets ça ne marche plus. Ce qui m'étonne c'est que la partie qui est en rouge reviens à la même chose (=CODE_COMMUNE), et là il fait bien la correspondance entre les 2 tables, c'est à dire que le code commune est le même. As tu une idée de où cela peut venir?? Désolé de t'embeter encore mais j'y suis presque (je pense et il me reste plus que ce soucis !!!) merci encore !!!
|
|
Cette discussion est classée dans : table, code, mysql, serveur, query
Répondre à ce message
Sujets en rapport avec ce message
galere avec free et php MySQL [ par bigfootspi ]
bon voila le code de mon livre d'or !le soucis c'est qu'il met dix ans a se connecter a la base alors que de temps en temps il va vite ! je ne compren
deux pb dans mon code php!! [ par dev10 ]
voilà mon prbolème, si squelqu'un peut m'aiderWarning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\....doc.php on l
updater plusieurs lignes en meme temps [ par plasticode ]
here i come again.voilà je mets en place une page modif.php qui fait appel àune base de données mysql avec plusieurs tables liées.Mes mises a jour fon
je comprends pas le probleme [ par Teclis01 ]
voici l erreur:Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-7\www\creerfacture.ph
recherche d une id sur 3 tables [ par Teclis01 ]
voici l'erreurParse error: parse error, unexpected T_ELSE voici le code!$table="etcitem"; $query = "SELECT * FROM $table WHERE item_id= $item"; $res
Comparer des valeurs d'une table avec une autre table selon la ligne [ par lildan ]
Bonjour tout le monde,voici le code que j'utilise pour vérifier si une valeur d'une table égale la valeur d'une autre table: $query = "SELECT * FROM v
Problème de formulaire dynamique [ par labouse ]
Bonjour,Bon je vais essayer d'être clair: j'ai une table mysql avec nom prénom et un code service je fais une requete pour afficher tout le monde pour
Problemes d'affichage avec une boucle tanque [ par pekplusultra ]
Bonjour,Je souhaiterais afficher les resultats de ma table par liste comme ci dessous:Nom Sujet Envoyeur ...Mon code fo
Correction de code simple pour debutant [ par michmichman ]
Bonjour j'ai fais un petit code pour verifier si un utilisateur est enregistré dans ma db mais bien sur il marche pasje vous le montre je suis sur que
requete SQL avec array [ par joebuz ]
Bonjour a tous,Voila j'ai plusieurs requete SQL a suivre qui sont identiques a part la valeur du champ qui changent, je me demandais s'il n'etais pas
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|