Bonjour à tous,

Actuellement je développe un site web sous CodeIgniter couplé avec Smarty mais je rencontre quelques difficultés avec l'affichage de mes requêtes SQL dans un tableau associatif.

D'après la doc de smarty je dois utiliser la fonction {foreach} afin de boucler mes résultats vu que c'est un simple tableau, le problème c'est qu'au final j'affiche uniquement le premier résultat alors que je voudrais afficher tous les résultat. (Un petit bout de code s'impose)

characters_model.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
 
function load_characters_list(){
 
        $this->db->where('id_account',$this->session->userdata('id'));
        $this->db->where('valide','1');
        $query = $this->db->get('characters');
        foreach($query->result_array() as $row)
        {
 
            $characters_data = array(
                $row['id_character'] => array(
                    'name' => $row['character_name'],
                    'url' => $row['character_name'],
                ),
            );
 
         }
 
        $this->smarty->assign('dataCharacter', $characters_data);
 
    }
character_management.tpl
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
 
{foreach from=$dataCharacter key=k item=v}
		<div class="ui-management-element" onclick="window.location = '{$baseUrl}characters/change/{$k}';">
			<div class="characters-select">
				<div class="checkbox checkbox-characters">
				  	<label>
				    	<img src="{$baseUrl}assets/images/classe/class_{$v.class}.jpg" alt="" />
				    	<div class="characters-management-name">
				    		<font color="{$v.name}"><b>{$v.name}</b></font>
				    	</div>
				  	</label>
				</div>
			</div>
		</div>
		{foreachelse}
		<div class="alert alert-warning">
			Aucun personnage disponible.
		</div>
		{/foreach}
A mon avis je m'y prends mal, c'est certain, mais côté doc Smarty je ne suis pas très aidé car la seul partie qui traite mon problème concerne les requêtes SQL basiques, et vu que j'utilise la classe Active Record de CI, je me perds assez vite. Pourtant, si je by pass le système de template en faisant un simple echo de $row['character_name'] cela m'affiche tous les résultats correctement.

Pourriez-vous me mettre sur une bonne piste s'il vous plait ? Car là je galère comme un rat mort et cela va faire depuis hier que j'essaye de trouver un cas similaire au mien sur la toile, sans résultat (sauf quelques cas traitant un problème similaire mais sous prestashop mais malheureusement ils ne passent pas par la classe Active Record :/ )

Merci d'avance pour vos futures réponses !