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 :

Insertion de données dans un tableau [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2016
    Messages : 6
    Par défaut Insertion de données dans un tableau
    Bonjour,

    J'ai une table 'cours' avec plusieurs champs dont 'jour' et heure'. Je voudrais sélectionner, par exemple, les premiers cours de chaque jour dans une requête, puis les deuxième cours de chaque jour, dans une autre requête, etc...
    Existe-t-il une requête me permettant de le faire ?

    Car j'essaie d'insérer ces données dans un tableau HTML qui affiche des colonnes avec les jours de la semaine (en commençant par le jour actuel). Dans chaque colonne, sont référencés les heures des cours de chaque jour.

    Ça fait des jours que je m'arrache les cheveux dessus. Pour le tableau en lui-même, je n'ai à priori pas de problème, là où ça bloque, c'est pour insérer les heures des cours aux bons endroits et construire correctement la suite du tableau.

    Merci beaucoup

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2016
    Messages : 6
    Par défaut Complément
    Pour compléter, voici un screen de la table :

    Nom : phptable.JPG
Affichages : 103
Taille : 113,3 Ko

    Et un screen de ce que devrait être le tableau :

    Nom : phptableau.JPG
Affichages : 94
Taille : 22,1 Ko

    On aurait donc dans la première ligne du tableau 9h15, 18h, 9h, 11h, 9h15, etc...
    Dans la deuxième ligne 10h15, 19h, 10h, etc...
    Etc...

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Désigne plutôt tes jours par un entier (1 = lundi, 2 = mardi, etc.) et utilise une colonne TIME pour tes heures

    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
    <?php
    // on recolte toutes les données classées par jour et par heure :
    $sql = "SELECT jour, heure, discipline FROM tatable ORDER BY jour, heure ASC";
    $sth = $pdo->query($sql);
     
    // On range par jour :
    while ($row = $sth->fetch(PDO::FETCH_ASSOC) {
        $result[$row['jour'][] = array('heure'=>$row['heure'], 'discipline'=>$row['discipline']);
        $max = max(count($result[$row['jour']), $max);
    }
     
    // on construit la tableau
    ?><table><?php
    for ($i = 0; $i < $max; $i++) { // pour chaque ligne
        ?><tr><?php
        for ($jour = 1; $jour < 8; $jour++) {  // pour chaque jour
            $display = isset($result[$jour][$i]) ? htmlspecialchars($result[$jour][$i]['discipline']) : '';
            echo '<td>' . $display . '</td>';
        }
       ?></tr><?php
    }
    ?>
    </table>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2016
    Messages : 6
    Par défaut
    Le script ne m'affiche que la discipline. Je vais essayer de voir si je peux le modifier pour arriver à ce que je veux.

    Un grand merci pour ta réponse

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Si tu veux l'heure devant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $display = isset($result[$jour][$i]) ? $result[$jour][$i]['heure'] . ' : ' . htmlspecialchars($result[$jour][$i]['discipline']) : '';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2016
    Messages : 6
    Par défaut
    Un grand merci pour ton aide
    Maintenant je n'ai plus qu'à adapter tout ça pour en faire un vrai planning de réservation.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2016
    Messages : 6
    Par défaut
    Excuse-moi d'abuser, mais pourrais-tu m'expliquer ces 2 lignes, stp ? Car j'avoue que j'ai un peu de mal. C'est l'imbrication de tableaux qui me pose problème pour comprendre. Quant à max, je sais à quoi elle sert, mais c'est la comparaison avec elle-même qui m'embrouille

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $result[$row['jour']][] = array('heure'=>$row['heure']);
    $max = max(count($result[$row['jour']]), $max);

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

Discussions similaires

  1. Insertion de données dans un tableau depuis EXCEL VBA
    Par reda120 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/12/2013, 12h11
  2. [XL-2007] Insertion de données dans un tableau via textBox
    Par toushusss dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 10/05/2011, 16h24
  3. Insertion de données dans un tableau
    Par PsyKoptiK dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 12/04/2011, 21h22
  4. [MySQL] Insertion de donnée dans un tableau array
    Par guigui69 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 18/06/2008, 17h10

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