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

HTML Discussion :

[HTML] Une table dans une table, est-ce possible ?


Sujet :

HTML

  1. #1
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 127
    Points : 71
    Points
    71
    Par défaut [HTML] Une table dans une table, est-ce possible ?
    Bonsoir à tous.
    Mon problème est assez particulier.

    Je vais essayer d'être le plus clair possible.

    On va dire que j'ai deux tables MySQL. Categorie et Produits.

    Categorie possède ces colonnes suivantes :
    id, nom, référence.

    En HTML, je liste donc mes différentes catégories pour les afficher dans un tableau (HTML).

    Ce qui donne quelque chose du genre

    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
     
    <table>
       <tr>
          <td>Id</td>
          <td>Nom</td>
          <td>Référence</td>
       </tr>
       <?php foreach ($Categories as $cat) { ?>
       <tr>
          <td><?php echo $cat['id']; ?></td>
          <td><?php echo $cat['nom']; ?></td>
          <td><?php echo $cat['ref']; ?></td>
       </tr>
       <?php } ?>
    </table>
    Donc jusque là tout va bien.
    Mais maintenant, j'aimerai que quand je clique sur une catégorie (un des noms listé), j'ai un nouveau tableau HTML qui apparaissent, JUSTE EN DESSOUS de la catégorie cliquée, qui me liste dans un nouveau tableau HTML les produits liés (donc avec plusieurs lignes et plusieurs colonnes).

    Je ne peux bien sûr pas mettre un <table>...</table> entre deux <tr>, donc comment faire ?

    A noter que le tout est agrémenté d'Ajax (pour faire un effet quand je clique sur une catégorie, récuperer les produits affectés à la catégorie, etc). Mais de ce côté là je n'ai pas de problèmes. C'est juste au niveau du respect des standards html !

    Merci de votre aide !

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 719
    Points : 5 361
    Points
    5 361
    Par défaut
    Je ne peux bien sûr pas mettre un <table>...</table> entre deux <tr>, donc comment faire ?
    Par contre tu peux mettre un <table>...</table> entre <td> et </td>. Ce n'est pas très propre à mon avis, mais ça passe à la validation

  3. #3
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 127
    Points : 71
    Points
    71
    Par défaut
    Oui ca devrait passer à la validation.
    Le problème c'est que je veux les mêmes colonnes que la table mère, or si je met mon table fils dans un td, cela ne marchera pas.

    A moin de mettre un colspan sur le td ?

    Je vais peut-être envisager d'utiliser le td avec colspan. Si quelqu'un à une meilleure idée, je suis preneur !!

  4. #4
    Membre émérite Avatar de HiRoN
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 035
    Points : 2 589
    Points
    2 589
    Par défaut
    Citation Envoyé par popo Voir le message
    Par contre tu peux mettre un <table>...</table> entre <td> et </td>. Ce n'est pas très propre à mon avis, mais ça passe à la validation
    +1, c'est en effet possible.

    Je vais peut-être envisager d'utiliser le td avec colspan.
    Le colspan te permettra de fusionner des cellules au sein de ta table. Tout dépend ensuite de ce que tu veux faire exactement. Un p'tit dessin / schéma pourrait permettre d'y voir + clair...
    Pensez à utiliser les ressources disponibles en Dev. Web :
    (x)HTML : Cours (X)HTML / FAQ (X)HTML
    CSS : Cours CSS / FAQ CSS / Galerie CSS
    Javascript : Cours / FAQ / Sources
    Mon site : Développeur Web Freelance

  5. #5
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 127
    Points : 71
    Points
    71
    Par défaut
    Je veux bien faire un schéma, mais avec quoi ?

    Ya pas un truc genre "google schéma" ? :p

    jvais tenter de l'ascii art :
    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
     
    ---------------------------
    | > | Id | Nom | Référénce|
    ---------------------------
    | > | 1  | Cat1 | R_65266 |
    ---------------------------
    | > | 2  | Cat2 | R_23576 |
    ---------------------------
    | v | 3  | Cat3  | R_23433|
    ---------------------------
       ----------------------
       | Id | Nom             |
       ----------------------
       | 1  | Produit 1       |
       ----------------------
       | 2  | Produit 2       |
       ----------------------
    ---------------------------
    | > | 4  | Cat4 | R_56754 |
    ---------------------------
    | > | 5  | Cat5 | R_23647 |
    ---------------------------
    j'espère que la mise en page va pas tout casser
    Donc le sous tableau apparaîtrait lorsque l'on clique sur une catégorie. Sinon c'est caché.
    J'espère que l'image là est assez explicite :p

    Merci pour votre aide

  6. #6
    Membre émérite Avatar de HiRoN
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 035
    Points : 2 589
    Points
    2 589
    Par défaut
    As-tu essayé un truc dans le genre :
    Code HTML : 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
    25
    26
    27
    28
    29
    30
     
    <table>
       <tr>
          <td>Id</td>
          <td>Nom</td>
          <td>Référence</td>
       </tr>
       <?php foreach ($Categories as $cat) { ?>
       <tr>
          <td><?php echo $cat['id']; ?></td>
          <td><?php echo $cat['nom']; ?></td>
          <td><?php echo $cat['ref']; ?></td>
       </tr>
       <?php } ?>
    <tr>
    <td colspan="3">
     
    <table border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td>Id</td><td>Nom</td>
    </tr>
    <tr>
    <td>1</td><td>Produit 1</td>
    </tr>
    </table>
     
    </td>
    </tr>
    </table>
    </table>

    ?
    Pensez à utiliser les ressources disponibles en Dev. Web :
    (x)HTML : Cours (X)HTML / FAQ (X)HTML
    CSS : Cours CSS / FAQ CSS / Galerie CSS
    Javascript : Cours / FAQ / Sources
    Mon site : Développeur Web Freelance

  7. #7
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 127
    Points : 71
    Points
    71
    Par défaut
    En fait voila, c'est la solution que je pensais utiliser dans mon précédent-précédent post (#3), le colspan.

    Je me demandais juste s'il n'y avais pas une autre possibilité :p
    D'après ta position (qui est la même, ndlr), je pense que c'est la meilleure idée

    Merci de vos conseils

  8. #8
    Membre émérite Avatar de HiRoN
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 035
    Points : 2 589
    Points
    2 589
    Par défaut
    Ton tableau étant généré dynamiquement, je pense que cette solution est la plus simple. Centre le 2ème tableau au sein du 1er et vérifie que cela est valide au niveau W3C (mais je pense que oui).

    Pense au tag Résolu si tout est Ok
    Pensez à utiliser les ressources disponibles en Dev. Web :
    (x)HTML : Cours (X)HTML / FAQ (X)HTML
    CSS : Cours CSS / FAQ CSS / Galerie CSS
    Javascript : Cours / FAQ / Sources
    Mon site : Développeur Web Freelance

  9. #9
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 127
    Points : 71
    Points
    71
    Par défaut
    Oué je pense que c'est la meilleure solution.
    Espérons que ca passe le W3C mais ca devrait le faire quand on voit les sites full <table> pour centrer le tout

    Merci de vos aides !

    [Resolu] :p

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

Discussions similaires

  1. [AC-2003] Lier les tables d'une Base1 dans une Base3 via une Base2
    Par ted the Ors dans le forum VBA Access
    Réponses: 0
    Dernier message: 30/12/2009, 11h58
  2. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  3. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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