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 :

[SQL] Affichage résultat requête sur 5 colonnes


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 60
    Par défaut [SQL] Affichage résultat requête sur 5 colonnes
    Bonjour, j'ai une liste que je récupère via une requete SQL. Cette liste j'aimerais l'afficher sur 5 colonnes. J'ai reussis pour 2 colonnes mais je ne vois pas comment couper le resultat de la requete en 5. j'ai beau me creuser la tête, je ne trouve pas...
    voici mon code :
    Code php : 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
     
    <td width="50%" height="230" valign="top" bgcolor="#BDBDBD" style="padding-bottom:10px;">
    <?
    $req="SELECT ORG_Nomorg,ID_Organisme FROM organismes ORDER BY ORG_Nomorg";
    $oConnexion->execute($req);
    for($i=0;$i<$oConnexion->nbRes;$i++){
    $oConnexion->moveNext();
    $TempRecord = $oConnexion->get();
    if($i==floor($oConnexion->nbRes/2)){?>
    </td>
    <td width="50%" valign="top" height="230" bgcolor="#BDBDBD" style="padding-bottom:10px;">
    <?
    }
    ?><p style="font-family: Arial, Helvetica, sans-serif;font-size: 11px;color: black;font-weight: normal;"><?=ucwords(strtolower($TempRecord['ORG_Nomorg']))?></p>
    <?}?>
    </td>
    Voila, sa m'affiche sur deux colonnes ma liste.
    Comment faire pour 5 colonnes ?

  2. #2
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 60
    Par défaut
    Je n'est pas fini. Sachant que cette liste sera fréquement mise a jour, il y ora des entrées supplémentaire. Il faut donc que la taille des colonnes puisse varier, je ne peux donc pas utiliser de LIMIT pour faire mes colonnes.(si vous voyez ce qque je veux dire...)

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 60
    Par défaut
    hmm je vois que sa inspire beaucoup de gens...

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut


    Pour répartir les colonnes, je te conseille d'utiliser le module (%) plutôt que la division
    Ce post te propose un exemple pour 2 colonnes, a priori il suffit de remplacer le 2 dans le modulo par un 5.

    Bon courage !
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 60
    Par défaut
    pas vraiment non...sa marche meme pas du tout.

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Citation Envoyé par tondeuz
    pas vraiment non...sa marche meme pas du tout.

    Bon, alors on va se pencher sérieusement sur la question.
    Ce que tu veux faire, c'est répartir l'ensemble des résultats de ta requête sur 5 colonnes ? genre :
    | res1 | res2 | res3 | res4 | res5 |
    | res6 | res7 | res8 | res9 | res10 |

    Ou est-ce quelque chose de différent ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  7. #7
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 60
    Par défaut
    bin c'est plus du genre
    1 6 11 16 21
    2 7 12 17 22
    3 8 13 18 23
    4 9 14 19 24
    5 10 15 20 25

  8. #8
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 60
    Par défaut
    pour linstant j'ai :
    1 | 6
    2 | 7
    3 | 8
    4 | 9
    5 | 10
    | 11
    | 12
    | 13
    | 14
    | ...

  9. #9
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 615
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 615
    Par défaut
    dans ce cas tu crées un tableau avec 5 colonnes et une case par colonne

  10. #10
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Et bien il suffit d'adapter un peu ton code pour fermer la colonne courante et en ouvrir une autre chaque fois que la ligne courante est la dernière de la colonne

    Pour savoir si c'est le cas il faut calculer le nombre de lignes qu'on va mettre par colonnes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nblignes_par_colonnes = $nbresultats / $nbcolonnes;
    Ensuite, si la ligne courante correspond à la derniere ligne de la colonne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if($nbligne_courante % $nblignes_par_colonnes == 0)
    {
    // ferme colonne, ouvre nouvelle
    }

  11. #11
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 60
    Par défaut
    hmm je vois sur le principe mais alors pour la pratique je suis un peu perdu...
    jessaye...

  12. #12
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 60
    Par défaut
    j'ai fait un truc comme sa :
    Code php : 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
     
    $req="SELECT ORG_Nomorg,ID_Organisme FROM organismes WHERE ID_Organisme IN (SELECT DISTINCT ID_Organisme FROM projet_organisme) ORDER BY ORG_Nomorg";
             $oConnexion->execute($req);
             $nblignes_par_colonnes = $oConnexion->nbRes / 5;
                            for($i=0;$i<$oConnexion->nbRes;$i++){
                                    $oConnexion->moveNext();
    				$TempRecord = $oConnexion->get();
             if($oConnexion->nbRes % $nblignes_par_colonnes ==0){?>
                                    </td>
    				<td valign="top" height="230" bgcolor="#BDBDBD" style="padding-bottom:10px;">
                                    <?
                                    }
                                    ?>
                                    <p style="font-family: Arial, Helvetica, sans-serif;font-size: 11px;color: black;font-weight: normal;"><?=ucwords(strtolower($TempRecord['ORG_Nomorg']))?></p>
                                    <?
                                    }
                                    ?>
    Bien sur sa ne marche pas mais suis-je sur la bonne voi ?

  13. #13
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Oui c'est la bonne voie, hormis qu'il faut remplacer ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($oConnexion->nbRes % $nblignes_par_colonnes ==0){?>
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($i % $nblignes_par_colonnes ==0){?>
    puisque tu veux savoir si la ligne courante (i-eme ligne) est la dernière de la colonne.

  14. #14
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 60
    Par défaut
    coul sa marche, il me reste juste a l'afficher la ou je veux car la il ouvre des colonnes hors de mon tableau...pourquoi ?

  15. #15
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 60
    Par défaut
    c bon je vais trouver pour sa. merci pour l'aide les gens !

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

Discussions similaires

  1. [MySQL] Affichage résultat requête SQL dans page HTML comme un tableau
    Par joxbl dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 14/03/2011, 14h26
  2. Affichage résultat requête SQL
    Par Shankara dans le forum Composants
    Réponses: 7
    Dernier message: 10/06/2010, 21h21
  3. Résultat d'une requête sur plusieurs colonnes
    Par manucha dans le forum Oracle
    Réponses: 9
    Dernier message: 19/12/2007, 12h04
  4. [SQL] Résultat requête : présenter séparement colonnes d'un même tableau
    Par PuppeT mAsTer dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 04/07/2006, 14h18
  5. [SQL] Affichage résultat requête dans un tableau, bouton affichage page
    Par megapacman dans le forum PHP & Base de données
    Réponses: 35
    Dernier message: 18/05/2006, 16h42

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