Jointure
ben1403
Messages postés
21
Date d'inscription
Statut
Membre
-
ben1403 Messages postés 21 Date d'inscription Statut Membre -
ben1403 Messages postés 21 Date d'inscription 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
Configuration: Windows XP Firefox 2.0.0.14
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:$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+
-
c'est fait en php/mysql, voici la structure des tables concernees:
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;- Si j'ai bien compris, tu doit récupéré les nom de chaque contact puis récupérer tous les enregistrements de ce contact dans la table 'contsec'. Et tu enregistre tout les 'idsec' associé a ce contact.
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:$requete="SELECT idcont FROM contact "; $resultat = ExecRequete ($requete, $connexion); $tabcont=mysql_fetch_assoc($resultat);
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+
-
-
hello
qu'il t'affiche
jean : Agriculture
jean : santé
est tout a fais normal ça prouve que la base est bien faite, maintenant c'est dans le code de ton programme que tu doit exploiter ces résultats et les formater comme tu veux