在下面的AnimalSpecies中,有一个名为Values的列。我希望以数组的形式检索此列的元素。非常基本!为什么以下返回一个空数组?我尝试了很多东西,当我直接使用
做mysql时 SELECT Values
FROM AnimalSpecies
WHERE 1
我似乎做对了。
型号:
//retrieve dropdown options
public function get_options($table) {
$this->db->select('*');
$this->db->from($table);
//$this->db->where('Options');
$query = $this->db->get();
//print_r($query);
if ( $query->num_rows() > 0 )
{
$data = $query->row_array();
print_r($this->db->last_query());die();
return $data;
}
}
控制器:
public function upload_page()
{
$this->load->model('data_model');
$species = $this->data_model->get_options("AnimalSpecies");
}
我已经想出了如何将“Options”列值作为数组,虽然我必须去除部分mysql输出,所以它有点笨拙。如果没有for循环,我会得到每个列值的数字索引。
public function get_options($table) {
$this->db->select('*');
$this->db->from($table);
$query = $this->db->get();
if ( $query->num_rows() > 0 )
{
$data = $query->result_array();
for ($i=0; $i < count($data); $i++)
{
$options_array[] = $data[$i]['Options'];
}
return $options_array;
}
}
答案 0 :(得分:0)
这应该这样做(根据你的上一条评论判断):
public function get_options($table) {
return $this->db->select('Options')
->get($table)
->row_array();
}
如果没有找到数据,它将返回false,否则,您将获得一个数组。
如果您只需要选项值,则可以使用:
public function get_options($table) {
return $this->db->select('Options')
->get($table)
->row()
->Options;
}
这将返回第一行中Options的值,但如果没有找到行,则可能会抛出错误。