2017-05-29 1 views
1

J'ai des données comme cecicomment afficher l'ID et le nom dans le formulaire 0DD

kdae | nom 1 | MBC 2 | BBC 3 | CDC

je veux afficher dans mon form_dropdown

<1 ---- MBC> 
<2 ---- BBC> 
<3 ---- CDC> 

ce mon code dans le contrôleur

$kdaes = $this->master_order->get_list_kdaes(); 
     $opt = array('' => 'All AE'); 
     foreach ($kdaes as $kdae) { 
      $opt[$kdae] = $kdae; 
     } 
     $data['form_kdae'] = form_dropdown('',$opt,'','id="kdae" name="kdae" class="form-control"'); 

ce code est dans mon modèle

public function get_list_kdaes() 
    { 
     $this->db->select('kdae','Nama'); 
     $this->db->from($this->table1); 
     $this->db->order_by('kdae','asc'); 
     $query = $this->db->get(); 
     $result = $query->result(); 

     $kdaes = array(); 
     foreach ($result as $row) 
     { 
      $kdaes[] = $row->kdae; 
     } 
     return $kdaes; 
    } 

et code pour moi

<input name="kodecat" type="text" hidden> 
         <div class="form-group"> 
          <label for="kdae" class="col-sm-3 control-label">Kode AE</label> 
          <div class="col-sm-3"> 
           <?php echo $form_kdae; ?> 
          </div> 
         </div> 

mais si je lance mon form_dropdown afficher comme ça

1 
2 
3 

toute solution theres?

+0

pouvez-vous s'il vous plaît montrer votre structure de données plus en détail? – Vickel

+0

Voulez-vous dire ma base de données? tabel masterae avec colonne kodeae et nom où colonne intérieure kodeae = 1, 2,3 et nom = mbc, bbc, cdc –

Répondre

1
syntaxe

est from_dropdown(name,options,selected_option,extra attribute)

il devrait donc être

form_dropdown('kdae',$opt,'','id="kdae" class="form-control"'); 
+0

hi JYoThI, ce code affiche toujours juste 1,2,3 où je veux 1 - MBC etc. –

0

Vous rencontrez une boucle foreach inutile dans votre modèle, il suffit de faire:

return $query->result(); 

dans votre contrôleur, vous extrayez les données retourné du modèle:

foreach ($kdaes as $row) { 
    $opt[$row->kodeae] = $row->kodeae. ' --- '.$row->Nama; 
} 

indice: faire attention dans votre clause select, que vous avez des colonnes avec des minuscules (kodae) et d'autres avec des majuscules (Nama), vérifier si c'est corect ...

+0

peut-être que votre logique est correcte mais si j'utilise le code ur obtenir une erreur Message: Essayer d'obtenir la propriété de non-objet mais mal essayer avec un autre code –

+0

ya vida correct kodeae est minuscule et Nama est majuscule mais l'erreur Message: Essayer d'obtenir la propriété de non-objet –

0

Essayez ce code:

public function get_list_kdaes() 
{ 
    $this->db->select('kdae','Nama'); 
    $this->db->from($this->table1); 
    $this->db->order_by('kdae','asc'); 
    $query = $this->db->get(); 
    $result = $query->result_array(); 

    $kdaes = array(); 
    foreach ($result as $row) 
    { 
     $kdaes[$row['kdae']] = $row['Nama']; 
    } 
    return $kdaes; 
} 
+0

hi Shihas je reçois un message Impossible d'utiliser l'objet de type stdClass en tant que tableau pour $ kdaes [$ row ['kdae']] = $ row ['Nama']; Y a-t-il une solution –

+0

essayez la réponse mise à jour. changer '$ result = $ query-> result();' en $ result = $ query-> result_array(); ' – Shihas