Regrouper les infos dans un même fieldset PHP
Résolu
woulfmoon
Messages postés
110
Date d'inscription
Statut
Membre
Dernière intervention
-
woulfmoon Messages postés 110 Date d'inscription Statut Membre Dernière intervention -
woulfmoon Messages postés 110 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je possède différents sports dans une base de données(appelés sections) et différents membres (personnes) qui ont différents rôles (fonctions) dans ce sport.
L'idée est de regrouper les membres dans un fieldset donnant leurs fonctions à l'intérieur d'un autre fieldset donnant le sport.
En gros ce que je voudrais c'est par exemple :
--- Foot -----------------------
----Président-----------------
Frank
----------------------------------
----Membres-------------------
Frank
Frank2
...
------------------------------------
------------------------------------
Mais pour le moment ça me donne :
--- Foot -----------------------
----Président-----------------
Frank
----------------------------------
----Membres-------------------
Frank
------------------------------------
----Membres--------------------
Frank2
-----------------------------------
---Membres---------------------
...
-----------------------------------
------------------------------------
Voici mon code php:
<?php
//connexion à la base de données
mysql_conn();
//REQUËTE ALLANT CHERCHER LES SECTIONS DANS LA BASE DE DONNEES EN LES TRIANT DANS L'ORDRE CROISSANT DE L'AFFICHAGE (ordreAffichSection) DEFINI
$section = mysql_query("SELECT idSection, libSection
FROM section
ORDER BY ordreAffichSection")
or die ("Erreur :".mysql_error());
//initialise $info sans aucune information à l'intérieur, cette variable servira à mettre toutes les infos des personnes (numéro de téléphone, mail, ...) si elles existent
$info="";
//PARCOURS CHAQUE LIGNE DE LA REQUETE UNE A UNE
while ($reqSection = mysql_fetch_array($section))
{
//crée le fieldset de la section
//Ce fieldset créera un léger espacement entre les différents fieldsets de section grâce au margin-bottom
echo "<fieldset style=\"margin-bottom:1.5em\">";
//affiche le nom de la section
echo "<legend>";
echo $reqSection['libSection'];
echo "</legend>";
//fin affichage nom de la section
//REQUËTE ALLANT CHERCHER LES INFORMATIONS (la fonction, nom, prénom, n° poste CHU, n° telephone personnel et adresses mail pro et perso) DES PERSONNES SELON LA SECTION QUI EST AFFICHEE
$membre = mysql_query(" SELECT libFonction, nomPersonne, prenomPersonne, telCHUPersonne, telFixePersonne, telPortablePersonne, mailProPersonne, mailPersoPersonne, urlPhotoPersonne
FROM personne,membre,fonction
WHERE 'membre'.'idFonction' = 'fonction'.'idFonction'
AND 'membre'.'idPersonne' = 'personne'.'idPersonne'
AND 'membre'.'idSection' = '".$reqSection['idSection']."'
")
or die ("Erreur :".mysql_error());
//Boucle affichant les informations des personnes
while ($reqMembre = mysql_fetch_array($membre))
{
//création d'un fieldset affichant les informations des personnes selon leurs fonctions
//Ce fieldset créera un léger espacement en bas avec celui qui l'encadre (le fieldset de la section et le dernier affiché de la fonction ne seront pas collé sur le bass)
//grâce au margin-bottom
echo "<fieldset style=\"margin-bottom:0.2em\">";
//affichage du libellé de la fonction
echo "<legend>";
echo $reqMembre['libFonction'];
echo "</legend>";
//fin affichage libellé fonction
//affichage du nom et du prénom de la personne dans un tableau
//pour pouvoir collé l'image sur la droite
echo "<table style= border=\"0\"><tr><td style=\"width: 100px\">"; //largeur exprimé en pourcentage
echo $reqMembre['nomPersonne']."<br>"; //passage à la ligne pour afficher le prénom en bas (<br>)
echo $reqMembre['prenomPersonne'];
echo "</td><td>";
//affichage de la photo de la personne grâce à l'url écrite dans la base de données ( table PERSONNE )
$photo = $reqMembre['urlPhotoPersonne'];
echo "<img src =\"$photo\">";
echo "</td></tr>";
echo "</table>";
//----------------------------------------------------------------------------------
// RECUPERATION DES DONNEES DES PERSONNES SI ELLES EXISTENT DANS LA BDD |
//----------------------------------------------------------------------------------
//Si le numéro de poste CHU est renseigné, il est placé dans $info
if (isset($reqMembre['telCHUPersonne'])){
$info .= "<u>Poste</u> : ".$reqMembre['telCHUPersonne']." ";
}
//Si le numéro de téléphone fixe est renseigné, il est placé dans $info
if (isset($reqMembre['telFixePersonne'])){
$info .= "<u>Tel Perso</u> : ".$reqMembre['telFixePersonne']." ";
}
//Si le numéro de téléphone portable est renseigné, il est placé dans $info
if (isset($reqMembre['telPortablePersonne'])){
$info .= "<u>Portable</u> : ".$reqMembre['telPortablePersonne']." ";
}
//Si l'adresse mail pro est renseigné, il est placé dans $info
if (isset($reqMembre['mailProPersonne'])){
$info .= "<u>Mail Pro</u> : ".$reqMembre['mailProPersonne']." ";
}
//Si l'adresse mail perso est renseigné, il est placé dans $info
if (isset($reqMembre['mailPersoPersonne'])){
$info .= "<u>Mail Perso</u> : ".$reqMembre['mailPersoPersonne']." ";
}
$info .="<br><br>";
//Affichage $info dans le fieldset
echo $info;
// Réinitialisation de $info pour redémarrer la boucle, si la variable n'est pas réinitialisé les infos précédentes sont gardées en mémoire
// et seront affichées à la boucle suivante en plus des nouvelles infos
$info = "";
echo "</fieldset>";
//fin fieldset des infos des personnes
}
echo "</fieldset>";
//fin fieldset de la section
}
?>
Si quelqu'un pouvait me donner un coup de main, ça serait génial, deux jours que je m'arrache les cheveux sans succés
Merci beaucoup d'avance,
je possède différents sports dans une base de données(appelés sections) et différents membres (personnes) qui ont différents rôles (fonctions) dans ce sport.
L'idée est de regrouper les membres dans un fieldset donnant leurs fonctions à l'intérieur d'un autre fieldset donnant le sport.
En gros ce que je voudrais c'est par exemple :
--- Foot -----------------------
----Président-----------------
Frank
----------------------------------
----Membres-------------------
Frank
Frank2
...
------------------------------------
------------------------------------
Mais pour le moment ça me donne :
--- Foot -----------------------
----Président-----------------
Frank
----------------------------------
----Membres-------------------
Frank
------------------------------------
----Membres--------------------
Frank2
-----------------------------------
---Membres---------------------
...
-----------------------------------
------------------------------------
Voici mon code php:
<?php
//connexion à la base de données
mysql_conn();
//REQUËTE ALLANT CHERCHER LES SECTIONS DANS LA BASE DE DONNEES EN LES TRIANT DANS L'ORDRE CROISSANT DE L'AFFICHAGE (ordreAffichSection) DEFINI
$section = mysql_query("SELECT idSection, libSection
FROM section
ORDER BY ordreAffichSection")
or die ("Erreur :".mysql_error());
//initialise $info sans aucune information à l'intérieur, cette variable servira à mettre toutes les infos des personnes (numéro de téléphone, mail, ...) si elles existent
$info="";
//PARCOURS CHAQUE LIGNE DE LA REQUETE UNE A UNE
while ($reqSection = mysql_fetch_array($section))
{
//crée le fieldset de la section
//Ce fieldset créera un léger espacement entre les différents fieldsets de section grâce au margin-bottom
echo "<fieldset style=\"margin-bottom:1.5em\">";
//affiche le nom de la section
echo "<legend>";
echo $reqSection['libSection'];
echo "</legend>";
//fin affichage nom de la section
//REQUËTE ALLANT CHERCHER LES INFORMATIONS (la fonction, nom, prénom, n° poste CHU, n° telephone personnel et adresses mail pro et perso) DES PERSONNES SELON LA SECTION QUI EST AFFICHEE
$membre = mysql_query(" SELECT libFonction, nomPersonne, prenomPersonne, telCHUPersonne, telFixePersonne, telPortablePersonne, mailProPersonne, mailPersoPersonne, urlPhotoPersonne
FROM personne,membre,fonction
WHERE 'membre'.'idFonction' = 'fonction'.'idFonction'
AND 'membre'.'idPersonne' = 'personne'.'idPersonne'
AND 'membre'.'idSection' = '".$reqSection['idSection']."'
")
or die ("Erreur :".mysql_error());
//Boucle affichant les informations des personnes
while ($reqMembre = mysql_fetch_array($membre))
{
//création d'un fieldset affichant les informations des personnes selon leurs fonctions
//Ce fieldset créera un léger espacement en bas avec celui qui l'encadre (le fieldset de la section et le dernier affiché de la fonction ne seront pas collé sur le bass)
//grâce au margin-bottom
echo "<fieldset style=\"margin-bottom:0.2em\">";
//affichage du libellé de la fonction
echo "<legend>";
echo $reqMembre['libFonction'];
echo "</legend>";
//fin affichage libellé fonction
//affichage du nom et du prénom de la personne dans un tableau
//pour pouvoir collé l'image sur la droite
echo "<table style= border=\"0\"><tr><td style=\"width: 100px\">"; //largeur exprimé en pourcentage
echo $reqMembre['nomPersonne']."<br>"; //passage à la ligne pour afficher le prénom en bas (<br>)
echo $reqMembre['prenomPersonne'];
echo "</td><td>";
//affichage de la photo de la personne grâce à l'url écrite dans la base de données ( table PERSONNE )
$photo = $reqMembre['urlPhotoPersonne'];
echo "<img src =\"$photo\">";
echo "</td></tr>";
echo "</table>";
//----------------------------------------------------------------------------------
// RECUPERATION DES DONNEES DES PERSONNES SI ELLES EXISTENT DANS LA BDD |
//----------------------------------------------------------------------------------
//Si le numéro de poste CHU est renseigné, il est placé dans $info
if (isset($reqMembre['telCHUPersonne'])){
$info .= "<u>Poste</u> : ".$reqMembre['telCHUPersonne']." ";
}
//Si le numéro de téléphone fixe est renseigné, il est placé dans $info
if (isset($reqMembre['telFixePersonne'])){
$info .= "<u>Tel Perso</u> : ".$reqMembre['telFixePersonne']." ";
}
//Si le numéro de téléphone portable est renseigné, il est placé dans $info
if (isset($reqMembre['telPortablePersonne'])){
$info .= "<u>Portable</u> : ".$reqMembre['telPortablePersonne']." ";
}
//Si l'adresse mail pro est renseigné, il est placé dans $info
if (isset($reqMembre['mailProPersonne'])){
$info .= "<u>Mail Pro</u> : ".$reqMembre['mailProPersonne']." ";
}
//Si l'adresse mail perso est renseigné, il est placé dans $info
if (isset($reqMembre['mailPersoPersonne'])){
$info .= "<u>Mail Perso</u> : ".$reqMembre['mailPersoPersonne']." ";
}
$info .="<br><br>";
//Affichage $info dans le fieldset
echo $info;
// Réinitialisation de $info pour redémarrer la boucle, si la variable n'est pas réinitialisé les infos précédentes sont gardées en mémoire
// et seront affichées à la boucle suivante en plus des nouvelles infos
$info = "";
echo "</fieldset>";
//fin fieldset des infos des personnes
}
echo "</fieldset>";
//fin fieldset de la section
}
?>
Si quelqu'un pouvait me donner un coup de main, ça serait génial, deux jours que je m'arrache les cheveux sans succés
Merci beaucoup d'avance,
A voir également:
- Regrouper les infos dans un même fieldset PHP
- Comment regrouper des applications sur android - Accueil - Guide Android
- Easy php - Télécharger - Divers Web & Internet
- Comment regrouper des pdf - Guide
- Regrouper plusieurs feuilles excel en une seule - Guide
- Expert php pinterest - Télécharger - Langages
3 réponses
C'est normal que pour le moment ça t'affiche cela car tu boucles et affiche à chaque fois la catégorie:
while ($reqSection = mysql_fetch_array($section))
{
//crée le fieldset de la section
//Ce fieldset créera un léger espacement entre les différents fieldsets de section grâce au margin-bottom
echo "<fieldset style=\"margin-bottom:1.5em\">";
//affiche le nom de la section
echo "<legend>";
echo $reqSection['libSection'];
echo "</legend>";
//fin affichage nom de la section
Il faut faire en sorte d'enregistrer ta catégorie et de ne l'afficher que lorsqu'elle change.
Voilà, voilà
Flavien
while ($reqSection = mysql_fetch_array($section))
{
//crée le fieldset de la section
//Ce fieldset créera un léger espacement entre les différents fieldsets de section grâce au margin-bottom
echo "<fieldset style=\"margin-bottom:1.5em\">";
//affiche le nom de la section
echo "<legend>";
echo $reqSection['libSection'];
echo "</legend>";
//fin affichage nom de la section
Il faut faire en sorte d'enregistrer ta catégorie et de ne l'afficher que lorsqu'elle change.
Voilà, voilà
Flavien
Je voyais bien ce que ça faisait mais je ne vois pas comment faire pour que ça fonctionne comme je le souhaite :S
$i = 0 ;
while ($reqSection = mysql_fetch_array($section))
{
if($i == 0){
$categorie = $reqSection['libSection'];
echo "<fieldset style=\"margin-bottom:1.5em\">";
echo "<legend>";
echo $reqSection['libSection'];
echo "</legend>";
}//fin if
if( $categorie != $reqSection['libSection']){
$categorie = $reqSection['libSection'];
echo "<fieldset style=\"margin-bottom:1.5em\">";
echo "<legend>";
echo $reqSection['libSection'];
echo "</legend>";
}//fin if
.......
$i++;
}//fin while
while ($reqSection = mysql_fetch_array($section))
{
if($i == 0){
$categorie = $reqSection['libSection'];
echo "<fieldset style=\"margin-bottom:1.5em\">";
echo "<legend>";
echo $reqSection['libSection'];
echo "</legend>";
}//fin if
if( $categorie != $reqSection['libSection']){
$categorie = $reqSection['libSection'];
echo "<fieldset style=\"margin-bottom:1.5em\">";
echo "<legend>";
echo $reqSection['libSection'];
echo "</legend>";
}//fin if
.......
$i++;
}//fin while