gpt4 book ai didi

php - Codeigniter form_helper 将数据库行作为选择菜单中的值

转载 作者:行者123 更新时间:2023-12-02 06:25:14 24 4
gpt4 key购买 nike

我正在写一个表单,里面有一个选择菜单,我想从数据库中提取值,所以我认为应该是这样的:

我的看法

<?php
echo form_open('admin/save_content');
echo form_fieldset();
echo form_dropdown('categories', $select_options);
echo form_submit('category_submit', 'Submit');
echo form_fieldset_close();
echo form_close();
?>

我的 Controller

function add_content() {
$data = array();
$this->is_logged_in();
$this->load->model('category_model');
$data['select_options'] = $this->category_model->get_all_online();
$this->load->view('admin/content/add_content', $data);
}

我的模型

public function get_all_online() {
$this->db->select('*');
$this->db->from('category');
$this->db->where('category_online', 1);
$query = $this->db->get();

return $query->result();

}

现在,当我将 $selected_options 放在表单下拉列表中时,出现此错误,

A PHP Error was encountered

Severity: 4096

Message: Object of class stdClass could not be converted to string

Filename: helpers/form_helper.php

Line Number: 331

最佳答案

您需要将一个数组传递给您的下拉列表,其中数组键将是发布的值,而值将是显示的文本。

为此,请像这样更改您的 Controller :

function add_content() {
$data = array();
$this->is_logged_in();
$this->load->model('category_model');
$data['select_options'] = $this->category_model->get_all_online_select();
$this->load->view('admin/content/add_content', $data);
}

并将此功能添加到您的模型中

public function get_all_online_select() {
$this->db->select('id, name'); //change this to the two main values you want to use
$this->db->from('category');
$this->db->where('category_online', 1);
$query = $this->db->get();
foreach($query->result_array() as $row){
$data[$row['id']]=$row['name'];
}
return $data;
}

这应该可以解决问题

关于php - Codeigniter form_helper 将数据库行作为选择菜单中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1901703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com