ahcorad
Messages postés106Date d'inscriptionvendredi 17 juin 2005StatutMembreDernière intervention23 octobre 2007
-
31 janv. 2006 à 15:42
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 2007
-
4 févr. 2006 à 19:48
Voila, j'expose mon problème.
je veux afficher les infos d'une personne suivant des critères, ces infos pouvant etre multiplié suivant le nombre d'attribution qu'elle a ; je veux afficher toutes les infos de la personne qui sont les memes suivant sa structure.
j'ai trouvé 1manière de le faire mais ça me parait un peu compliqué et pas forcément logique mais je ne veux pas utiliser de javascript !
voila mon code qui fonctionne !!!!!
ahcorad
Messages postés106Date d'inscriptionvendredi 17 juin 2005StatutMembreDernière intervention23 octobre 2007 1 févr. 2006 à 09:02
jme doute doute bien que le code est pas forcément correct mais c'est le seul qui fonctionne !
en fait je veux afficher la fonction et la structure d'une personne ; mais il est possible que la personne est plusieurs fonctions dans différentes structures.
donc dans une 1ère colonne j'ai le descriptif (fonction / structure) et ensuite suivant le nombre de fonctions que la personne possède il y aura n nombre de colonne.
mes tables sont : (rapides et pas complets)
Personne : NumPersonne ........
Travailler : NumPersonne, NumStructure, NumFonction ........
Structure : NumStructure, SigleStructure.........
Fonction : NumFonction, NomFonction ..........
voila, j'espère que ça sera plus clair
ahcorad
Messages postés106Date d'inscriptionvendredi 17 juin 2005StatutMembreDernière intervention23 octobre 2007 2 févr. 2006 à 19:30
alors je souhaite afficher les informations professionnelles (fonction, structure) à une personne précise ; cette personne pouvant avoir plusieurs fonctions dans différentes structures, je voudrais afficher les informations par colonne ; une colonne = 1fonction dans 1structure !
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 2 févr. 2006 à 19:41
Si tu souhaites afficher les personnes (et tous leurs détails) un truc du genre devrait aller :
SELECT p.numpersonne,p.numtitre...[...],t.numstructure,t.numservice[...],s.numstructure,s.numadresse,[...] FROM personne p LEFT JOIN travailler t ON p.numpersonne=t.numpersonne LEFT JOIN structure s ON s.numstructure=t.numstructure LEFT JOIN fonction f ON t.numfonction=f.numfonction ORDER BY ...
ça devrait fonctionner, à toi d'ajouter les champs que tu souhaites voir sélectionnés dans la requête.
ahcorad
Messages postés106Date d'inscriptionvendredi 17 juin 2005StatutMembreDernière intervention23 octobre 2007 3 févr. 2006 à 10:06
ma requete fonctionne bien : j'utilise un inner join et non left join !
$query2="SELECT * FROM travailler INNER JOIN fonction ON fonction.numfonction = travailler.numfonction INNER JOIN structure ON structure.numstructure = travailler.numstructure INNER JOIN service ON service.numservice = travailler.numservice INNER JOIN sous_service ON sous_service.numsous_service = travailler.numsous_service WHERE numpersonne='$num';";
ç'est pour l'afficher dans le tableau ensuite si je ne remet $resultn ça ne fonctionne pas !
seulement la 1ère colonne s'affiche
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 3 févr. 2006 à 11:26
N'utilise pas le SELECT * mais seulement le nom de tes champs, même si tu les utilises tous. Ensuite heu "ça ne fonctionne pas" c'est à dire ? tu utilises quoi pour récupérer les résultats de la requête ? ça donne quoi dans phpmyadmin ? y'a les enregistrements correspondants qui s'affichent quand tu fais la requête manuellement avec une valeur pour numpersonne ?
ahcorad
Messages postés106Date d'inscriptionvendredi 17 juin 2005StatutMembreDernière intervention23 octobre 2007 3 févr. 2006 à 13:27
Exemple dans Phpmyadmin :
requête SQL: SELECT nomfonction, siglestructure FROM travailler INNER JOIN fonction ON fonction.numfonction travailler.numfonction INNER JOIN structure ON structure.numstructure travailler.numstructure INNER JOIN service ON service.numservice = travailler.numservice INNER JOIN sous_service ON sous_service.numsous_service = travailler.numsous_service WHERE numpersonne= 1 LIMIT 0, 30;
Enregistrements: 2
à l'affichage ça rempli seulement les champs fonctions, les champ structures sont vides !
ç'est en modifiant une nouvelle query que ça fonctionne (pas forcément correct !!)
ahcorad
Messages postés106Date d'inscriptionvendredi 17 juin 2005StatutMembreDernière intervention23 octobre 2007 4 févr. 2006 à 11:09
que l'affichage donne ceci :
Fonction,
Président,
SO,
----
Structure,
Directeur,
CESS
je suis bien d'accord avec toi pour l'affichage de la fonction et structure mais une colonne avec ce que ça représente ça serai bien ! ç'est justement cela mon problème car pour l'insérer à l'extérieur du while je vois pas trop !!! tu me suis ??
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 4 févr. 2006 à 12:02
Heu tu veux afficher en gros
Fonction Structure
, Président, SO, ----
, Directeur, CESS
si c'est ça c'est du html et ça n'a rien à voir avec PHP, si c'est pas ça je ne comprends toujours pas ton problème.
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
ahcorad
Messages postés106Date d'inscriptionvendredi 17 juin 2005StatutMembreDernière intervention23 octobre 2007 4 févr. 2006 à 13:38
non je voudrais que ça s'affiche comme ceci :
Fonction,
Président,
SO,
----
Structure,
Directeur,
CESS
1ère colonne avec l'intitulé
é ensuite 1 ou plusieurs colonnes avec les infos !
mais justement le code :
<th>
Fonction
</th>
<?php
while ($ligne=mysql_fetch_array($result2_mysql))
{
$fonction=$ligne['nomfonction'];
echo "<td>
$fonction
</td>";
}
?>
</tr>
<tr>
<th>
Structure
</th>
<?php
while ($ligne=mysql_fetch_array($result2_mysql))
{
$structure=$ligne['siglestructure'];
echo "<td>
$structure
</td>";
}
ça ne marche pas car je ferme le while donc je ne peut pas rouvrir la meme connexion !
enfin bon jcroi que jvai laisser tomber et afficher cela en ligne ç nettement plus simple !