2010-06-24 4 views
2

J'essaie de remplir un menu déroulant sur une page d'événements avec une liste d'emplacements. Ce que je souhaite faire est de récupérer tous les noms d'une table d'emplacements, de les stocker dans un tableau dans mon contrôleur event.php, de passer cela à une vue qui liste ensuite tous les emplacements dans un menu déroulant.Codeigniter - transmettre plusieurs tableaux de données à une vue?

Voici la boucle dans mon contrôleur qui récupère les emplacements ..

$result = $this->locationModel->get_locations_list(); 
$arr[] = ''; 
foreach ($result as $val) 
    $arr[$val->id] = $val->name; 

Je suis déjà le passage d'une variable appelée mon point de vue des données $ comme si - $this->template->load('admin/template', 'admin/eventEdit', $data);

J'ai essayé passer le $ La variable arr et le tableau de données $ dans la ligne ci-dessus, mais cela arrête la vue du rendu.

S'il vous plaît quelqu'un pourrait me guider sur la façon de transmettre les informations qui sont stockées dans la variable $ arr à mon avis avec la variable $ data.

Merci

Dan

Merci Dan

Nouveau Code

Contrôleur

foreach ($result as $val){ $arr[$val->id] = $val->id; } 
$data['navarr'] = $arr; 

Voir <?php foreach($navarr as $value) { $html .= '<option value="'.$value['id'].'">'.$value['name'].'</option>'; } echo $html; ?>

Répondre

4

Vous devez dire

$data['navarr'] = $arr; 

Et puis dans la vue que vous aurez une variable appelée navarr à utiliser qui sera le tableau.

Changer votre code de contrôleur pour

// I assume you want $val->id and $val->name 
foreach ($result as $val){ $arr[$val->id] = $val->name; } 
$data['navarr'] = $arr; 

En supposant que je lis votre code correctement, vous devez extraire les paires clé/valeur du tableau comme ceci:

<?php 
    foreach($navarr as $key => $value) 
    { 
     ?> 
      <option value="<?php echo $key; ?>"><?php echo $value; ?></option> 
     <?php 
    } 
?> 
+0

Merci Josh, Cela m'a aidé, maintenant im coincé sur autre chose. Dans ma table, j'ai 3 enregistrements Manor Park Ritz Manchester \t \t \t Test La liste déroulante est maintenant peuplée, mais seulement avec les id comment puis-je récupérer également le nom et défini que la valeur? Aussi la troisième option lit seulement '1' actuellement, plutôt que 12? étrange. Voici mon code .. Contrôleur foreach ($ résultat sous $ val) { $ arr [$ val-> id] = $ val-> id; \t} \t $ data ['navarr'] = $ arr; Voir '. $ valeur ['nom']. ' '; } echo $ html; ?> –

+0

@Dan C: Veuillez mettre ce code dans la question. –

+0

Désolé, je suis nouveau à cet endroit, encore apprendre l'étiquette –

Questions connexes