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] Alignement de résultats d'une requête dans un tableau


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut [Tableaux] Alignement de résultats d'une requête dans un tableau
    bonjour à tous!!

    je suis en train de creer un tableau (sorte de planning) dans lequel sera figuré certaines données en fonction des jours de la semaine.

    dans ce que j'ai fait, j'arrive à afficher (par exemple une date) un resultat (pris parmis d'autres) de ma requete en fonction du jour (lundi, mardi, mercredi...) mais j'aimerais pouvoir afficher ces résultats de façon alignés, sur la meme ligne c'est à dire que sur la meme ligne, je voudrais afficher 1 résultat pour chaque jour de la semaine soit 5 résultats mais au lieu de me l'afficher aligné, ça me l'affiche en "escalier" et j'arrive pas à aligner les résultats comme je veux

    voici mon code :
    ss.php
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
     
    <?
     
    session_start();
     
    include ("definitionpointeuse.php");
    $base=mysql_connect("localhost","admin","oui");
    mysql_select_db("db", $base);
     
    $pseudo = $_SESSION['pseudo'];
     
    $sql = "SELECT id_stagiaire, nom, prenom FROM stagiaire WHERE pseudo = '".$pseudo."'";
    //echo $sql."<br>";
    $quer = mysql_query($sql) ;
    $fe = mysql_fetch_array($quer);
     
    echo "<table border = 1>
    <tr>
    <td width = 50>Lundi</td>
    
    <td width = 50>Mardi</td>
    
    <td width = 50>Mercredi</td>
    
    <td width = 50>Jeudi</td>
    
    <td width = 50>Vendredi</td>
    </tr>";
     
     
    $horaire = "SELECT jour, heure_arrivee, heure_depart, heure_dep_dej, heure_arriv_dej, date, temps_jour, temps_dej FROM presence WHERE id_stagiaire = '".$fe[0]."' ORDER BY date DESC";
    $querh = mysql_query($horaire) or die (mysql_error());
     
    while($feh = mysql_fetch_array($querh))
    {
      echo $feh[0]."date<br>";
        echo "<tr>";
    if ($feh[0] == 'lundi')
    {
      echo "<td>".$feh[1]."</td>";
     }
     else
     {
       echo '<td></td>';
     }
     
     if ($feh[0] == 'mardi')
    {
      echo "<td>".$feh[1]."</td>";
     }
     else
     {
       echo '<td></td>';
     }
     
     if ($feh[0] == "mercredi")
    {
      echo "<td>".$feh[1]."</td>";
     }
     else
     {
       echo '<td></td>';
     }
     
     if ($feh[0] == "jeudi")
    {
      echo "<td>".$feh[1]."</td>";
     }
     else
     {
       echo '<td></td>';
     }
     
    if ($feh[0] == "vendredi")
    {
      echo "<td>".$feh[1]."</td>";
     }
     else
     {
       echo '<td></td>';
     }
     echo "</tr>";
    }
    ?>
    ggggrrrr je tourne en rond...

    est ce que quelqu'un peut m'aider?

    je vous en remercie beaucoup..

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    else
     {
       echo '<td>&nbsp;</td>';
     }

    ajoute un espace dans tes cases vides car des fois si elles sont 'reelement' vide il ne les dessine pas
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    autre chose :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $feh[0]."date<br>";

    oublie pas tu es dans un tableau donc :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<tr><td>".$feh[0]."date</td></tr>";

    sinon effectivement ton tableau prend une sale tronche !
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  4. #4
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut
    Citation Envoyé par RideKick
    autre chose :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $feh[0]."date<br>";

    oublie pas tu es dans un tableau donc :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<tr><td>".$feh[0]."date</td></tr>";

    sinon effectivement ton tableau prend une sale tronche !
    non non ça c'était juste pour verifier les résultats.

    sinon mon tableau est bien tracé j'avais dejà testé avec &nbsp;
    c'est juste un probleme d'allignement d'une partie de mes résultats de ma requete
    voici un aperçu :

    Nom : tableau.JPG
Affichages : 68
Taille : 10,0 Ko

    comme vous pouvez le voir, mes résultats (bon ici ce sont des dates mises dans ma bdd pour faire des essai donc ne soyez pas surpris s'il y a des 0000-00-00 ) sont tordus et non alignés sur la meme ligne
    je voudrais que sur la meme ligne (soit du lundi au vendredi) il y ait ces dates ( ici du lundi au jeudi ) donc en faite pour une semaine.

  5. #5
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Il faut que tu sortes le <tr> de ta boucle while pour tout mettre sur la même ligne (avec le <tr> dans le while il fait une nouvelle ligne par tour de boucle c'est logique...).
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  6. #6
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut
    oui j'ai dejà testé mais ça ne marche pas ...

  7. #7
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    ça me semble logique que tu ait ça !

    apparement dans ta table tu as 2 champs : jour et Date et tes enregistrements ressemblent a ceci :

    jeudi : 00:00:00
    mardi : 00:00:00
    mercredi : 00:00:00
    lundi 1:47:00

    toi tu demande qu'a chaques enregistrement il te fase une ligne avec seulement la case du jour remplie avec la date , et tu change de ligne !

    Ton copde est correct je vois pas ce que tu veux faire de mieux .....
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  8. #8
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Citation Envoyé par oceane751
    oui j'ai dejà testé mais ça ne marche pas ...
    Ok dsl je viens de voir le vrai problème, je pense que la façon de faire n'est pas bonne, il faudrait que tu expliques ce que tu veux afficher exactement dans ton tableau (une ligne par semaine ???).

    Et une remarque pour que ça soit plus lisible il est vivement conseillé d'utiliser ton tableau de façon associative comme ça :
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  9. #9
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    a la limite il te faudrait une table avec 6 champs dans les quelles tu entrerait des dates et le numero de semaine !:

    Semaine / lundi / mardi / mercredi / jeudi / vendredi

    et tu afficherais les lignes telles qu elles (sauf la semaine si tu n en a pas envie)!
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  10. #10
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut
    vous voyez des calendrier, avec chaque case, une date, une fete à souhaiter, pour 7 jours, le numero de la semaine et une ligne par semaine (du lundi au dimanche)?

    en faite c'est ce que je voudrais faire, et à la place de la fete à souhaiter, je mets le ou les résultats de ma requete correspondants à une date, et une ligne du tableau correspondant à une semaine du lundi au vendredi..

  11. #11
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    A mon avis l'idée c'est pas de parcourir les résultats de ta requête pour faire ton tableau mais de parcourir les dates que tu souhaites couvrir. A partir de ta date de départ, tu avances dans les jours en construisant une cellule par jour et en créant une nouvelle ligne à chaque début de semaine, et pour chaque cellule tu recherche la valeur qui va bien dans le tableau résultat de ta requête.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    TANT QUE dates à parcourir FAIRE
       SI date est un lundi ALORS
          nouvelle ligne
       FIN SI
       nouvelle cellule
       récupérer dans le tableau la valeur à afficher (si il y en a une)
       afficher la valeur dans la cellule
    FIN TANT QUE
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  12. #12
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Citation Envoyé par oceane751
    vous voyez des calendrier, avec chaque case, une date, une fete à souhaiter, pour 7 jours, le numero de la semaine et une ligne par semaine (du lundi au dimanche)?
    bah oui c est le principe du calendrier
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  13. #13
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut
    ba oauis mais yavé comme un vent d'incomprehension, donc j'ai réexpliqué !

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/06/2007, 17h42
  2. [MySQL] récupérer le résultat d'une requête dans un tableau
    Par faty2 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 19/05/2007, 16h22
  3. Réponses: 2
    Dernier message: 27/03/2007, 01h19
  4. [MySQL] Résultat d'une requête dans un tableau
    Par olivier94 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 22/03/2007, 21h03
  5. [MySQL] Afficher le résultat d'une requête dans un tableau
    Par magobouli dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 26/02/2007, 14h41

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