Php 使用选择选项Codeigniter显示数据库中的数据
首先,我想道歉,因为我刚刚学习了Codeigniter,我在使用Select选项显示数据库中的数据时遇到了问题,没有错误,但数据没有出现,请参考,我加入了3个表 这是我的控制器Php 使用选择选项Codeigniter显示数据库中的数据,php,codeigniter,drop-down-menu,select-options,Php,Codeigniter,Drop Down Menu,Select Options,首先,我想道歉,因为我刚刚学习了Codeigniter,我在使用Select选项显示数据库中的数据时遇到了问题,没有错误,但数据没有出现,请参考,我加入了3个表 这是我的控制器 class Harga extends CI_Controller{ function __construct(){ parent::__construct(); $this->load->model('m_harga'); $this->load->helper('url'); $
class Harga extends CI_Controller{
function __construct(){
parent::__construct();
$this->load->model('m_harga');
$this->load->helper('url');
$this->load->database();
}
function index(){
$this->load->helper('form');
$data['tabel_harga'] = $this->m_harga->tampil_data();
$this->load->view('v_harga',$data);
}
这是我的模型
class M_harga extends CI_Model{
function tampil_data(){
$this->db->order_by('id_harga','ASC');
return $this->db->from('tabel_harga')
->join('tabel_vendor','tabel_vendor.id_vendor=tabel_harga.id_vendor')
->join('tabel_hari','tabel_hari.id_hari=tabel_harga.id_hari')
->get()
->result();
}
以下是我的观点
<select class="form-control">
<option value="">All</option>
<?php
foreach($tabel_harga as $u)
{
echo '<option value="'.$u['id_vendor'].'">'.$u['nama_vendor'].'</option>';
}
?>
</select>
全部的
如果您能帮助我,我将非常感激,谢谢各位。数据不会出现,可能是因为您使用的是
result()
,它返回object
,并且您在视图中以array
的形式获取数据
型号
class M_harga extends CI_Model{
function tampil_data(){
$this->db->select('*');
$this->db->from('tabel_harga');
$this->db->join('tabel_vendor','tabel_vendor.id_vendor=tabel_harga.id_vendor', 'INNER');
$this->db->join('tabel_hari','tabel_hari.id_hari=tabel_harga.id_hari', 'INNER');
$this->db->order_by('id_harga','ASC');
$query = $this->db->get()->result_array(); // use result_array() instead of result() as you're getting value as an array in your view.
return $query;
}
}
此外,确保检查$tabel_harga
查看ie中的值
<select class="form-control">
<option value="">All</option>
<?php
if(!empty($tabel_harga)){
foreach($tabel_harga as $u){
?>
<option value="<?php echo $u['id_vendor']; ?>"><?php echo $u['nama_vendor']; ?></option>
<?php
}
}
?>
</select>
全部的
希望这对你有帮助。试试这个
看法
控制器
嗨,伙计,谢谢你的帮助,但这仍然不起作用。。数据未显示..:(这可能意味着您正在运行的查询
没有生成任何值。您可以通过echo$this->db->last_query()打印查询
)
然后在phpmyadmin
中运行查询
。查看它是否返回任何行。我收到了这条消息…从tabel\u harga
JOINtabel\u vendor
上的tabel\u vendor
上选择*id\u hari
=tabel\u harga
id\u hari
ORDER BYid\u harga
ASCYes,现在复制查询并在phpmyadmin
中运行,如果它没有显示任何结果,则表示您的查询没有返回任何值,并且您现在更改的代码是正确的。仍然一样不起作用:(,但非常感谢您分享,非常感谢,您的成功..我有一个更新的模型和控制器,希望对您有所帮助
<select class="form-control">
<option value="">All</option>
<?php
foreach($tabel_harga as $u)
{
echo '<option value="'.$u->id_vendor.'">'.$u->nama_vendor.'</option>';
}
?>
</select>
class M_harga extends CI_Model{
function tampil_data(){
$this->db-join('tabel_vendor','tabel_vendor.id_vendor=tabel_harga.id_vendor')
$this->db-join('tabel_hari','tabel_hari.id_hari=tabel_harga.id_hari')
$this->db->order_by('id_harga','ASC');
$sql = $this->db->get('tabel_harga');
return $sql->result(); // returns an array of objects
}
class Harga extends CI_Controller{
function __construct(){
parent::__construct();
$this->load->model('M_harga');
$this->load->helper(array('url','form'));
}
function index(){
$data['tabel_harga'] = $this->M_harga->tampil_data();
$this->load->view('v_harga',$data);
}