Affichage de n colone sans javascript

ahcorad Messages postés 106 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 octobre 2007 - 31 janv. 2006 à 15:42
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 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 !!!!!

<?php
........
$query2=......
$result2_mysql=mysql_query($query2,$connexion);
$result3_mysql=mysql_query($query2,$connexion);
$result4_mysql=mysql_query($query2,$connexion);
$result5_mysql=mysql_query($query2,$connexion);
$result6_mysql=mysql_query($query2,$connexion);
$result7_mysql=mysql_query($query2,$connexion);
$result8_mysql=mysql_query($query2,$connexion);
$result9_mysql=mysql_query($query2,$connexion);


?>
<table width="100%" border="1" bordercolor="#FFFFFF">
<tr>
<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($result3_mysql))
{
$structure=$ligne['siglestructure'];
echo "<td>
$structure
</td>";
}
?>
</tr>

18 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
31 janv. 2006 à 15:58
Salut,

quelles sont les structures de tes tables, car là je pense qu'il y a un énorme problème d'optimisation...

et qu'est-ce que tu souhaites faire au juste ?

a +

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
31 janv. 2006 à 21:00
$result2_mysql=mysql_query($query2,$connexion);
$result3_mysql=mysql_query($query2,$connexion);
$result4_mysql=mysql_query($query2,$connexion);
$result5_mysql=mysql_query($query2,$connexion);
$result6_mysql=mysql_query($query2,$connexion);
$result7_mysql=mysql_query($query2,$connexion);
$result8_mysql=mysql_query($query2,$connexion);
$result9_mysql=mysql_query($query2,$connexion);

En arriver la c'est grave... parce que faire 4000 fois la même query, ca revient un peu à faire n'importe quoi !!! :)
0
ahcorad Messages postés 106 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 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
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
1 févr. 2006 à 10:55
"mes tables sont : (rapides et pas complets)"

Ma réponse va donc être rapide et incomplète : donne-nous la strcture complète de tes tables via PHPMyadmin.

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ahcorad Messages postés 106 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 octobre 2007
2 févr. 2006 à 14:14
ok !
dictionnaire de données :

travailler
<!-- TABLE INFORMATIONS -->
Champ |
Type |<!--Attributs |-->
Null |
Défaut |<!--Extra |-->
----

numpersonne,
int(11), <!--, -->
Non,
0, <!--, -->
----

numstructure,
int(11), <!--, -->
Non,
0, <!--, -->
----

numservice,
int(11), <!--, -->
Non,
0, <!--, -->
----

numsous_service,
int(11), <!--, -->
Non,
0, <!--, -->
----

numfonction,
int(11), <!--, -->
Non,
0, <!--, -->
----

telpro,
varchar(10), <!--, -->
Non,
, <!--, -->
----

portablepro,
varchar(10), <!--, -->
Non,
, <!--, -->
----

faxpro,
varchar(10), <!--, -->
Non,
, <!--, -->
----

courrielpro,
varchar(50), <!--, -->
Non

structure
<!-- TABLE INFORMATIONS -->
Champ |
Type |<!--Attributs |-->
Null |
Défaut |<!--Extra |-->
----

numstructure,
int(11), <!--, -->
Non,
, <!--auto_increment, -->
----

numadresse,
int(11), <!--, -->
Non,
0, <!--, -->
----

siglestructure,
varchar(8), <!--, -->
Non,
, <!--, -->
----

nomstructure,
text, <!--, -->
Non,
, <!--, -->
----

telstructure,
varchar(10), <!--, -->
Non,
, <!--, -->
----

faxstructure,
varchar(10), <!--, -->
Non,
, <!--, -->
----

courrielstructure,
varchar(50), <!--, -->
Non

personne
<!-- TABLE INFORMATIONS -->
Champ |
Type |<!--Attributs |-->
Null |
Défaut |<!--Extra |-->
----

numpersonne,
int(11), <!--, -->
Non,
, <!--auto_increment, -->
----

numtitre,
int(11), <!--, -->
Non,
0, <!--, -->
----

numadresse,
int(11), <!--, -->
Non,
0, <!--, -->
----

datecreation,
date, <!--, -->
Non,
0000-00-00, <!--, -->
----

civilite,
varchar(5), <!--, -->
Non,
, <!--, -->
----

nompersonne,
varchar(50), <!--, -->
Non,
, <!--, -->
----

prenompersonne,
varchar(50), <!--, -->
Non,
, <!--, -->
----

telperso,
varchar(10), <!--, -->
Non,
, <!--, -->
----

portableperso,
varchar(10), <!--, -->
Non,
, <!--, -->
----

faxperso,
varchar(10), <!--, -->
Non,
, <!--, -->
----

courrielperso,
varchar(50), <!--, -->
Non

fonction
<!-- TABLE INFORMATIONS -->
Champ |
Type |<!--Attributs |-->
Null |
Défaut |<!--Extra |-->
----

numfonction,
int(11), <!--, -->
Non,
, <!--auto_increment, -->
----

nomfonction,
varchar(50), <!--, -->
Non
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
2 févr. 2006 à 19:21
Ok, maintenant que souhaites-tu faire pour avoir besoin d'autant de requêtes ?

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
ahcorad Messages postés 106 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 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 !


Exemple :



<COLGROUP>
<COL width=105>
<COL width=113>
<COL width=103>

----

Fonction,
Président,
SO,
----

Structure,
Directeur,
CESS

et en fait je devrai ptet basculer ça en ligne ça serai ptet plus simple ???
ou si tu as 1idée ??
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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.

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
ahcorad Messages postés 106 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 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
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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 ?

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
ahcorad Messages postés 106 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 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

<!-- Results table -->
<!-- Results table headers -->

----

nomfonction |
siglestructure |<!-- Results table body -->
----

Infirmière,
APO,
----

Comptable,
DDASS

ensuite le script Php :
<?php
................
$result2_mysql =mysql_query($query2,$connexion);

?>
Fonction |
<?php
while ($ligne= mysql_fetch_array($result2_mysql))
{
$fonction=$ligne['nomfonction'];
echo \"$fonction, \";
}
?>

----

Structure |
<?php
while ($ligne =mysql_fetch_array($result2_mysql))
{
$structure=$ligne['siglestructure'];
echo \"$structure, \";
}
}
?>

à 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 !!)
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
3 févr. 2006 à 17:50
<?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>";
}
}
?>

ah non faut pas faire ça :

<?php
while ($ligne=mysql_fetch_array($result2_mysql))
{
$fonction=$ligne['nomfonction'];
echo '<td>',$ligne['nomfonction'],'</td><td>',$ligne['siglestructure'],'</td>';
}
?>

hop
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
ahcorad Messages postés 106 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 octobre 2007
3 févr. 2006 à 18:01
ok mais je voudrais afficher dans la page fonction et structure pour légender et savoir ce que c'est ! ça pose problème ???
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
3 févr. 2006 à 18:03
Je comprends pas ce que tu veux faire

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
ahcorad Messages postés 106 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 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 ??
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
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>
0
ahcorad Messages postés 106 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 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 !
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
4 févr. 2006 à 19:48
C'est un problème de HTML ensuite, mais l'affichage avec une boucle est possible.

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
Rejoignez-nous