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

PHP & Base de données Discussion :

résultats dans un tableau + tri en colonne


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Profil pro
    Lycéen
    Inscrit en
    Novembre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2006
    Messages : 15
    Points : 8
    Points
    8
    Par défaut résultats dans un tableau + tri en colonne
    Bonjour,

    Je me heurte depuis quelques temps à un problème que je ne parvient pas à surmonter avec succès de façon simple et propre.

    J'ai une 20aine de catégories enregistrées dans ma BDD. Je voudrais les afficher dans un tableau, mais classées de la façon suivante :
    ____________________________
    |catégorie1|catégorie4|catégorie7|
    ----------------------------------
    |catégorie2|catégorie5|catégorie8|
    ----------------------------------
    |catégorie3|catégorie6| |
    ----------------------------------

    Je ne parviens pas à obtenir (proprement) ce classement, tout en sachant que le nombre de catégories est variable et qu'il n'est pas forcément un multiple de 3.

    Je récupère le nombre de catégories dans une variable $nombre_cat

    Quelqu'un aurait une solution à me fournir ?

  2. #2
    Koo
    Koo est déconnecté
    Membre régulier Avatar de Koo
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 76
    Points : 84
    Points
    84
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $nb_col = 3;
    $nb_line = ceil($nombre_cat/$nb_col);
     
    for($i=0; $i<$nb_line; $i++) {
        // <tr>
        for($j=0; $j<$nb_col; $j++) {
            echo '<td>'.@$data[$i+$j*$nb_line].'</td>';
        }
    }
    Les données étant contenues dans $data (tableau 1 dimension). Code à compléter unpeu quand même (les echos).

  3. #3
    Futur Membre du Club
    Profil pro
    Lycéen
    Inscrit en
    Novembre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2006
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    merci pour ta réponse.


    quel est le rôle du symbole @ stp ?


    Un problème se pose toujours si je comprends bien ton code. Si jamais le nombre de catégories n'est pas un multiple de 3, le nombre de cellules est insuffisant dans la dernière ligne (pas un problème majeur)

    J'ai du mal à bien comprendre ce code, je verrai ça demain... ^^
    Pourrais-tu me faire un exemple éventuellement sachant qie si j'affiche mes catégories dans une simple liste j'utilise ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    while ($infos_categorie=mysql_fetch_assoc($requete_select_categories)) 
    {
    echo $infos_categorie['nom'].'<br />';
    }
    ?>
    Merci encore pour ton message.

  4. #4
    Koo
    Koo est déconnecté
    Membre régulier Avatar de Koo
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 76
    Points : 84
    Points
    84
    Par défaut
    Marche très bien, et l'@ permet de ne pas afficher de message d'erreur (quand un index n'existe pas)
    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
    <?php
     
    $data = array("1", "2", "3", "4", "5", "6", "7", "8");
     
    $nombre_cat = count($data);
    $nb_col = 3;
    $nb_line = ceil($nombre_cat/$nb_col);
     
     echo '<table>';
    for($i=0; $i<$nb_line; $i++) {
        echo "<tr>";
        for($j=0; $j<$nb_col; $j++) {
            echo '<td>'.@$data[$i+$j*$nb_line].'</td>';
        }
        echo "</tr>";
    }
     
    ?>

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/04/2007, 16h35
  2. Réponses: 23
    Dernier message: 10/01/2006, 13h33
  3. Réponses: 6
    Dernier message: 05/01/2006, 14h23
  4. URGENt: recherche dans un tableau trié par ordre alphabetiqu
    Par JulPop dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/02/2005, 17h21

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