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 24/02/2011, 18h35   #1
Invité de passage
 
Inscription : février 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 5
Points : 0
Points : 0
Par défaut Récupération de données sur une table dont plusieurs colonnes renvoient à une même table en une seule requête.

Bonjour,

Je souhaite Récupérer des données sur une table dont plusieurs colonnes renvoient à une même colonne d'une autre table. Pour l'instant j'ai fait 4 requêtes. Est-ce possible de faire la même chose en 1 seule requête.

Seconde problème relié au problème précédent
j'ai une cinquantaine de tables où je n'ai pas forcément toutes les colonnes qui renvoient à cette même colonne de l'autre table. Comme il y a un lien cela cause une erreur, ce qui m'oblige de créer les colonnes même si elles sont vides. j'ai essayé un isset(en rouge), mais cela ne fonctionne pas.

Merci pour vos réponses.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
	$resultat_1 = mysql_query("SELECT * FROM $config, tranche AS tr, graveur AS gr WHERE id='$nid' AND $config.bord=tr.bord AND $config.designob=gr.id_designer", $link);
	$resultat_2 = mysql_query("SELECT * FROM $config, tranche AS tr, graveur AS gr WHERE id='$nid' AND $config.bord=tr.bord AND $config.designob2=gr.id_designer", $link);
	$resultat_3 = mysql_query("SELECT * FROM $config, tranche AS tr, graveur AS gr WHERE id='$nid' AND $config.bord=tr.bord AND $config.designre2=gr.id_designer", $link);
	
	$resultat = mysql_query("SELECT * FROM $config, tranche AS tr, graveur AS gr WHERE id='$nid' AND $config.bord=tr.bord AND $config.designre=gr.id_designer", $link);
	
		$enregistrement=mysql_fetch_assoc($resultat);
		$enregistrement_1=mysql_fetch_assoc($resultat_1);
		if(isset($enregistrement_2=mysql_fetch_assoc($resultat_2));
		$enregistrement_3=mysql_fetch_assoc($resultat_3);
	
	
		
		if (isset($enregistrement_1['designer'])) 		{$designob=$enregistrement_1['designer'];}			else {$designob='';}
		if (isset($enregistrement['designer'])) 		{$designre=$enregistrement['designer'];}			else {$designre='';}
		if (isset($enregistrement_2['designer'])) 		{$designob2=$enregistrement_2['designer'];}			else {$designob2='';}
		if (isset($enregistrement_3['designer'])) 		{$designre2=$enregistrement_3['designer'];}			else {$designre2='';}
cykablue est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 19h11   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 014
Points : 5 014
Citation:
Je souhaite Récupérer des données sur une table dont plusieurs colonnes renvoient à une même colonne d'une autre table
Si ce sont bien des clés étrangères, il faut faire un produit cartésien:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
/* tables */
CREATE TABLE tableA (
  `id` int(10) not null auto_increment,
  `name` varchar(45) not null,
  `tableB_id` int(10) not null auto_increment,
  primary key (`id`)
) engine=InnoDB; 
 
CREATE TABLE `tableB` (
  `id` int(10) not null auto_increment,
  `value` varchar(45) not null,
  primary key (`id`)
) engine=InnoDB; 
 
/* Requête de selection */
SELECT A.`name`, B.`value`
FROM tableA AS A
JOIN tableB AS B
ON (A.tableB_id=B.id);
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre 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 16h45.


 
 
 
 
Partenaires

Hébergement Web