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

CodeIgniter PHP Discussion :

Plusieurs lignes de valeurs dans une variable


Sujet :

CodeIgniter PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Plusieurs lignes de valeurs dans une variable
    Bonjour à tous,

    je doit afficher dans la case d'un tableaux plusieurs valeurs de ma table.
    En fonction de certains paramètres (ici l'id de l’étudiant ainsi que du programme concerné ) on renvoi une ou plusieurs notes.

    Il faudrait donc pouvoir concaténer les valeurs récupérer dans un seule variable, que l'on afficherai ensuite .

    Je travail donc dans le model,

    voici mon code :
    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
    public function get_note_table($promo, $prog)
        {  
     
            $this->db->select('IDEtudiant, Nom_et, prenom_et')
            ->from('etudiant')
            ->where('IDPromo',$promo);
            $q_etudiant = $this->db->get();
            if($q_etudiant->num_rows()>0)
            {
                foreach($q_etudiant->result() as $row)
                {
                    $note['IDEtudiant'][] = $row->IDEtudiant;
                    $note['Nom_et'][] = $row->Nom_et;
                    $note['prenom_et'][] = $row->prenom_et;
     
                    $this->db->select('note')
                    ->from('note')
                    ->where('IDEtudiant',$row->IDEtudiant)
                    ->where('IDProg',$prog);
                    $q_note = $this->db->get();
                    if($q_note->num_rows > 0)
                    {
                        foreach($q_note->result() as $row2);
                        {
                            $note['historique_note'][] = $row2->note;
                        }
                    }
                }
                return $note;
            }  
        }
    Lors de l'affichage j'obtiens ma liste d’étudiant ainsi que les notes, cependant il n'y à chaque fois qu'une seule note, la dernière lorsque l'on regarde dans la table. Par exemple si l’étudiant a eu 7 et 11 en maths, seul le 11 apparaît.

    pour l'affichage dans ma vue :

    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
    <table id="table_list" class="style5">
        <tr>
            <th>Apprenti</th>
            <th>Note</th>
            <th>Historique</th>
        </tr>
        <?php
        if($IDEtudiant != NULL):
        foreach($IDEtudiant as $r=>$v):?>
     
        <tr >
            <td id="<?php echo ($IDEtudiant[$r]);?>" class="td_matiere"><?php echo ($Nom_et[$r].' '.$prenom_et[$r]);?></td>
            <td><input type="text" name="saisie_note" value=""></td>
            <td><?php echo ($historique_note[$r]);?></td>
        </tr>
     
        <?php endforeach; endif;?>
    </table>

    J’espère pouvoir être compréhensif dans mes explications.

    PS: J'ai essayer de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $note['historique_note'][] .= $row2->note;
    Mais j'obtiens une erreur.

  2. #2
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 104
    Points : 4 454
    Points
    4 454
    Par défaut
    Bonjour,
    je suis pas sur de la demande
    tu ne desires pas une structure :
    $note[ IDEtudiant ]['nom']
    $note[ IDEtudiant ]['historique_note'][0]
    La, il est tres facile de la parcourir dans la vue

    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
    if($q_etudiant->num_rows()>0)
            {
                foreach($q_etudiant->result() as $row)
                {
                    $note[ $row->IDEtudiant ]['Nom_et'][] = $row->Nom_et;
                    $note[ $row->IDEtudiant ]['prenom_et'][] = $row->prenom_et;
                    $note[ $row->IDEtudiant ]['historique_note'] = array();
                    $this->db->select('note')
                    ->from('note')
                    ->where('IDEtudiant',$row->IDEtudiant)
                    ->where('IDProg',$prog);
                    $q_note = $this->db->get();
                    if($q_note->num_rows > 0)
                    {
                        foreach($q_note->result() as $row2);
                        {
                            $note[ $row->IDEtudiant ]['historique_note'][] = $row2->note;
                        }
                    }
                }
                return $note;
            }
    $moi= ( !== ) ? : ;

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci pour ta réponse, De ce fait comment j’interprète mes variable dans la vue?
    j'utilisais le nom entre les quote mais cela n'a plus l'air de fonctionner..

    Mon contrôleur récupère $note dans une variable $data et la renvoie a la vue.

  4. #4
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 104
    Points : 4 454
    Points
    4 454
    Par défaut
    Oui
    il faut que tu révises ce qu'est un tableau !
    et comment fonctionne une boucle
    (ai passé $note a la vue)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    foreach($note as $idEtudiant=>$etudiant){
      echo "etudiant id:".$idEtudiant. " nom :".$etudiant['nom'].' notes:'
      foreach($etudiant['historique_note'] as $historique){
         echo $historique.' ';
      }
     
    }
    $moi= ( !== ) ? : ;

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Bonjour, merci pour les conseils, un dernier petit détail, la vue m'affiche 'array' au lieu de la valeur, ne manquerait-il pas une boucle ?

  6. #6
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 104
    Points : 4 454
    Points
    4 454
    Par défaut
    dsl, j'ai recopié ton code un peu vite :
    dans get_note_table(()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $note[ $row->IDEtudiant ]['Nom_et'] = $row->Nom_et;
    $note[ $row->IDEtudiant ]['prenom_et'] = $row->prenom_et;
    pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $note[ $row->IDEtudiant ]['Nom_et'][] = $row->Nom_et;
    $moi= ( !== ) ? : ;

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 07/10/2018, 21h08
  2. Réponses: 22
    Dernier message: 22/05/2013, 17h52
  3. Stocker plusieurs valeurs dans une variable Session
    Par PrinceMaster77 dans le forum Langage
    Réponses: 3
    Dernier message: 05/01/2010, 11h04
  4. Plusieurs lignes de texte dans une variable texte
    Par Loko dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 15/12/2005, 12h51
  5. récupération d'une valeur dans une variable
    Par jh0483 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/08/2005, 09h49

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