简体   繁体   中英

Codeigniter selecting a certain table from database

I just want to ask if you can select a certain table in the database? There is this code in my

model:

public function select_tables(){
         $tables = $this->db->list_tables();
         return $tables;
     }

and in my controller:

public function maintenance(){
        $this->data['title'] = "Inventory Maintenance";
        $this->load->vars($this->data);
        $this->load->view('homeview');
        $selecttable['tablename'] = $this->inventory_model->select_tables();
        $this->load->view('maintenance_view', $selecttable);
        $this->load->view('footer_view');
    }

Here is the printscreen in my view:

在此处输入图片说明

There is the list of my tables in the database, what I want is I can only show limited tables, for example I just want to show "tbladditional, tblemployees, tblinventorytype". Is there a syntax where I can select a certain table? An equivalent to this syntax

"Select * from 'tablename' where 'tablename' = 'something'"

It's so confusing so please I really need your help. Thank you so much!!

 public function select_tables(){
    $tables = $this->db->list_tables();
    $req_tables = array("tble1", "table2"); //pass your table names as Array
    $tables = array_intersect($tables, $req_tables);
    return $tables;
 }

This is the programmatic way I can come with. As CI doesn't have any method to retrieve specific table names.

you can put a mixture of Codeigniter and the query result

For example:

$table_list = $this->db->list_tables();


foreach($table_list as $tl)
   {
       if(strpos(strtolower($tl),'tbladditional')==true ||
          strpos(strtolower($tl),'tblemployees')==true ||
          strpos(strtolower($tl),'tblinventorytype')==true)
         {
            $query = "Select * from $tl";
        }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM