2010-12-02 6 views
0

Je veux créer une fonction dans mon modèle qui fait quelque chose de différent et qui nécessite un peu d'aide.Fonction CodeIgniter pour retourner une liste déroulante spéciale

J'ai une table de base de données avec des noms, description, ids etc etc .... il y a seulement un de chaque nom, mais je veux retourner 3 entrées pour chaque 1 nom, préfixé avec un nombre là-dessus.

Ainsi, par exemple, si j'ai 2 entrées dans ma base de données avec les noms de Joe 'et « bob » .... Je veux que ma boîte de menu déroulant pour ressembler à la

suivante
<select> 
<option value="joe1">joe1 - description</value> 
<option value="joe2">joe2 - description</value> 
<option value="joe3">joe3 - description</value> 
<option value="bob1">bob1 - description</value> 
<option value="bob2">bob2 - description</value> 
<option value="bob3">bob3 - description</value> 

et ainsi de suite pour les entrées supplémentaires dans le DB.

Je comprends comment faire une boîte déroulante normale, mais pas une comme celle-ci.

Toute aide serait grand :)

+0

pouvez-vous la liste votre code de modèle et afficher le code pour voir cette option ? – Jakub

+0

Je n'ai pas de code modèle .... c'est ce que j'essaie de comprendre comment faire – Chris

Répondre

0

Essayez quelque chose comme ceci:

function get_users() 
{ 
    $this->db->select("id,name,desc"); 
    $this->db->from("table_name"); 

    $q = $this->db->get(); 

    $rows = $q->row_array(); 
} 

Dans la méthode du contrôleur:

$data = array(); 
$data['users'] = $this->model_name->get_users(); 

$this->load->view('view_name',$data); 

Vu:

<?php 
echo "<SELECT>"; 

foreach($users as $user) 
{ 
    for ($i=1; $i<=3; $i++) 
    { 
      $id = $user['id'].$i; 
      echo '<option value="'.$id.'">'.$id.' - '.$user['desc'].'</option>'; 
    } 
} 

echo "</SELECT>"; 
?> 
+0

Devrais-je mettre cela dans le modèle? ... ou directement dans la vue? – Chris

+0

Je l'ai mis dans la vue ... N'a pas travaillé – Chris

+0

J'ai édité la réponse et divisé le code en sections Model, View et Controller. – user516322

Questions connexes