Jointure
ben1403
Messages postés
21
Statut
Membre
-
ben1403 Messages postés 21 Statut Membre -
ben1403 Messages postés 21 Statut Membre -
Bonjour, j'ai 2 tables: personnes et domaines.
je veux afficher pour une personne, ses différents domaines sur la mem ligne. voici ce ke mon code affiche:
jean : Agriculture
jean : santé
or, moi je voudrais afficher ca:
jean : Agriculture - santé
merci
je veux afficher pour une personne, ses différents domaines sur la mem ligne. voici ce ke mon code affiche:
jean : Agriculture
jean : santé
or, moi je voudrais afficher ca:
jean : Agriculture - santé
merci
2 réponses
Salut,
je ne sais pas en quelle langage tu veux faire cela. Mais je pense qu'une simple concaténation de chaine de caractère suffirait.
exemple en php:
tu récupère le nom dans $nom puis les donné on dira $donné1 et $donné2 et tu fait la concaténation:
J'ai pas tester mais sa ressemble à cela. Après faudrais que tu donne plus de précisions sur le language et les données.
a+
je ne sais pas en quelle langage tu veux faire cela. Mais je pense qu'une simple concaténation de chaine de caractère suffirait.
exemple en php:
$chaine="";
tu récupère le nom dans $nom puis les donné on dira $donné1 et $donné2 et tu fait la concaténation:
$chaine.=$nom."=".$donné1."-".$donné2;
J'ai pas tester mais sa ressemble à cela. Après faudrais que tu donne plus de précisions sur le language et les données.
a+
CREATE TABLE `contact` (
`idcont` varchar(14) NOT NULL,
`orgId` varchar(14) default NULL,
`officeId` varchar(14) default NULL,
`salutation` varchar(10) default NULL,
`firstName` varchar(50) NOT NULL default '',
`lastName` varchar(50) NOT NULL default '',
`title` varchar(50) default NULL,
`phone1` varchar(100) default NULL,
`phone2` varchar(100) default NULL,
PRIMARY KEY (`idcont`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE `sector` (
`idsec` varchar(14) NOT NULL,
`name` varchar(55) NOT NULL default '',
PRIMARY KEY (`idsec`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE `contsec` (
`idcont` varchar(14) NOT NULL,
`idsec` varchar(14) NOT NULL,
PRIMARY KEY (`idcont`,`idsec`),
KEY `abfkindex1` (`idcont`),
KEY `abfkindex2` (`idsec`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Après quoi tu recherche dans la table 'sector' ce a koi correspond le 'idsec' . Puis tu affiche avec la concaténation comme j'ai fait au dessus.
Pour te donné un aperçu du code cela donne quelque chose comme sa:
récupération des contact:
puis tu parcour le tableau des contact et tu recherche les secteur de chaque contact:
foreach($tabcont as $cont){ $chaine=$cont.":"; $requete2="SELECT idsec FROM contsec WHERE idcont='$cont' "; $resultat2 = ExecRequete ($requete2, $connexion); $tabsec=mysql_fetch_assoc($resultat2); foreach( $tabsec as $sec){ $requete3="SELECT name FROM contsec WHERE idsec='$sec' "; $resultat3 = ExecRequete ($requete3, $connexion); $tabsec=mysql_fetch_assoc($resultat3); foreach($tabsec as $nom){ $chaine.=" ".$nom; } } }$conexion est le resultat d'une fonction qui me permet de me connecter à la base.
Voila, c'est pas tester nom plus mais c'est pour te donné une idée, après c'est a toi de l'adapter à ton code. a+