我只想问你是否可以在数据库中选择某个表?我的
中有这个代码模型:
public function select_tables(){
$tables = $this->db->list_tables();
return $tables;
}
并在我的控制器中
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');
}
以下是视图中的版画屏幕:
在数据库中有我的表列表,我想要的是我只能显示有限的表,例如我只想显示" tbladditional,tmpmployees,tblinventorytype"。是否有语法可以选择某个表?等效于此语法
"Select * from 'tablename' where 'tablename' = 'something'"
这太令人困惑所以请我真的需要你的帮助。非常感谢你!!
答案 0 :(得分:1)
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;
}
这是我可以提供的程序化方式。由于CI没有任何方法来检索特定的表名。
答案 1 :(得分:0)
你可以混合使用Codeigniter和查询结果
例如:
$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";
}
}