IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Tableau avec groupes et sous-groupes


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ouvrier
    Inscrit en
    Décembre 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ouvrier

    Informations forums :
    Inscription : Décembre 2006
    Messages : 50
    Points : 37
    Points
    37
    Par défaut [Tableaux] Tableau avec groupes et sous-groupes
    Bonsoir à vous,
    j'ai un petit problème qui m'embête car plus j'essaie et plus je m'enfonce que ce soit sql ou php

    Voila mon problème:

    je voudrait afficher des cellules sur 2 colonnes avec chacune un ID de groupe en titre avec tous les éléments du sous groupe correspondant en travaillant sur une seule table qui contient cat_id, cat_name et cat_subid.
    La table cat_subid contient le cat_id des groupes.

    J'espère m'être fait comprendre ce dont je ne suis pas sûre

    Merci d'avance à ceux ou celles qui pourraient m'aider.

    BigBiB

  2. #2
    Membre éclairé
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Points : 823
    Points
    823
    Par défaut
    Si tu as testé ton truc, peux-tu envoyer un bout de code et le problème généré???

    Merci ++
    JC

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ouvrier
    Inscrit en
    Décembre 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ouvrier

    Informations forums :
    Inscription : Décembre 2006
    Messages : 50
    Points : 37
    Points
    37
    Par défaut
    voila, ici, tu dois t'en douter, il m'affiche tous l'id des groupes à chaques sous-groupes et je voudrais un affichage de groupe par sous-groupe.

    j'ai essayé de plusieurs manières et même du tout et n'importe quoi.
    Voila le plus propre (à mon gout )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    $sql = 'SELECT * FROM annuaire_cat WHERE annu_cat_subid GROUP BY annu_cat_subid,annu_cat_id ORDER BY annu_cat_subid ,annu_cat_name';
    $req_select = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    $compteur=1;
    while($select = mysql_fetch_array($req_select))
    {
    if ($compteur == 1)
    {echo '<tr>';}
     echo'<td width="200" border="1" height="7" valign="top">';
     echo'<span>&nbsp;'.$select['annu_cat_subid'].'</span>';
     echo '<span>&nbsp;<b>•&nbsp;'.$select['annu_cat_name'].'</b></span>';
    echo '</td>';
    if ($compteur == 2)
    {echo "</tr>";
    $compteur=0;}	
    $compteur++;
     }

  4. #4
    Membre éclairé
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Points : 823
    Points
    823
    Par défaut
    Salut, tu devrais pas remettre ton comptuer à 1 plutot qu'à 0

    if ($compteur == 2)
    {echo "</tr>";
    $compteur=1;}
    Sinon, il ne dois passer qu'une fois et te prendre en compte que les deux premiers param de $select...

    ++
    JC

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Ouvrier
    Inscrit en
    Décembre 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ouvrier

    Informations forums :
    Inscription : Décembre 2006
    Messages : 50
    Points : 37
    Points
    37
    Par défaut
    je viens d'essayer et si je met à 1, il me mets toutes les catégories sur une seule colonne sauf une
    mais pour moi (je me trompe peut-être) la partie du compteur est bonne, elle me met bien 2 colonnes.
    Le problème, c'est dans les cellules: un titre (une catégories) et les sous groupes de cette catégorie.
    je ne trouve pas le moyen


    voila ce que je voudrais faire

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    voiila une solution a ton pb (si je l'ai bien compris )
    mais j'utilise 2 requetes car je ne vois pas commen tu peux faire avec une seule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    $sql = 'SELECT annu_cat_subid FROM annuaire_cat';
    $req_select = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    $compteur=1;
    while($select = mysql_fetch_array($req_select))
    {
    if ($compteur == 1)
    {echo '<tr>';}
     
     
    	echo'<td width="200" border="1" height="7" valign="top"><span>&nbsp;'.$select['annu_cat_subid'].'</span>';
     
    	$sql2 = 'SELECT annu_cat_name FROM annuaire_cat where annu_cat_subid = '.$select['annu_cat_subid'];
    	$req_select2 = mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
    	while($select2 = mysql_fetch_array($req_select2))
    	{
     	 	echo '<span>&nbsp;<b>•&nbsp;'.$select2['annu_cat_name'].'</b></span>';
    	}
    echo '</td>';
    if ($compteur == 2)
    {echo "</tr>";
    $compteur=0;}	
    $compteur++;

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Ouvrier
    Inscrit en
    Décembre 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ouvrier

    Informations forums :
    Inscription : Décembre 2006
    Messages : 50
    Points : 37
    Points
    37
    Par défaut
    en premier, merci à vous 2 pour votre aide,
    en second, je m'excuse mais je n'avais pas remarqué que les groupe avaient automatiquement un subid à 0 donc plus simple pour trier

    et en trois, merci Boo64 car ton 2ème "Select" m'a mis sur la voie.

    Voila ce que j'ai fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    $sql = 'SELECT * FROM annuaire_cat WHERE annu_cat_subid ="0" GROUP BY annu_cat_subid,annu_cat_id ORDER BY annu_cat_name';
     
     
    $req_select = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    $compteur=1;
    while($select = mysql_fetch_array($req_select))
    {
    if ($compteur == 1)
    {
    echo '<tr>';}
    echo'<td width="200" border="1" height="7" valign="top">';
    echo '<span>&nbsp;<b><u>&nbsp;<a href="annuaire.php?mode=cat&id='.$select['annu_cat_id'].'">'.$select['annu_cat_name'].'</a></u></b></span><br />';
     $sql2 = 'SELECT annu_cat_name,annu_cat_id FROM annuaire_cat WHERE annu_cat_subid = '.$select['annu_cat_id'].' ORDER BY annu_cat_name';
    $req_select2 = mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
    while($select2 = mysql_fetch_array($req_select2))
    {
    echo '<span>&nbsp;•&nbsp;<a href="annuaire.php?mode=cat&id='.$select2['annu_cat_id'].'">'.$select2['annu_cat_name'].'</a></span>';
    }
    echo '</td>';
    if ($compteur == 3)
    {echo "</tr>";
    $compteur=0;}	
    $compteur++;
     }

    Merci encore et si vous trouvez plus simple, je suis tout ouïe

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Excel] plan avec groupe et sous groupe
    Par rodrigue62 dans le forum Excel
    Réponses: 3
    Dernier message: 10/01/2009, 22h31
  2. Identifier une ligne Excel en groupe ou sous-groupe
    Par gilles06 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 09/01/2008, 17h57
  3. Réponses: 8
    Dernier message: 04/07/2007, 14h33
  4. Réponses: 2
    Dernier message: 29/11/2006, 14h49
  5. [Tableaux] Tableau avec valeur conditionnelle
    Par alfigor dans le forum Langage
    Réponses: 5
    Dernier message: 25/04/2006, 14h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo