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:
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:
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:
$note['historique_note'][] .= $row2->note;
Mais j'obtiens une erreur.