当我在视图页面中执行while循环时,以下错误显示 消息:mysql_fetch_array()期望参数1是资源,给定数组
我的模特
function get_row($id) {
$this->db->select("*");
$this->db->from('pending_list');
$this->db->where('id',$id);
$query = $this->db->get();
return $query->result_array();
}
我的控制器
public function pass_print() {
$id = $this->uri->segment(3);
$data['h'] = $this->admin_model->get_row($id);
$this->load->view('header');
$this->load->view('sidebar');
$this->load->view('print_pass',$data);
$this->load->view('footer');
}
我的观点
<?php while($rows= mysql_fetch_array($h)){?>
<div class="form-group">
<label for="inputEmail3" class="col-sm-3 control-label">
Visitors Name</label>
<div class="col-sm-9">
<input type="text" class="form-control" id="inputEmail3" value="<?php $rows['visitor_name']?>" name="visitor" placeholder="Visitors Name">
</div>
</div>
<?php}?>
答案 0 :(得分:1)
查看部分是错误的。它&#39;应该是
<?php
foreach ($h as $item) {
?>
<div class="form-group">
<label for="inputEmail3" class="col-sm-3 control-label">
Visitors Name
</label>
<div class="col-sm-9">
<input type="text" class="form-control" id="inputEmail3"
value="<?php echo $item['visitor_name']?>" name="visitor" placeholder="Visitors Name">
</div>
</div>
<?php
}
?>
如果您使用此方法传递数据以查看$this->load->view('print_pass',$data);
,则您提到的数组名称$data['h']
只能在VIEW中调用。在你的情况下是h
怀疑你的代码是
在控制器中调用$data['h'] = $this->admin_model->get_row($id);
但是您添加的模型代码为function select()
。确保您正在调用正确的模型方法/功能
答案 1 :(得分:1)
在模型中:您正在定义&#34;选择&#34;模型中的函数未在控制器中调用
function select() {
$this->db->select("emp_name,department");
$this->db->from('employee');
$query = $this->db->get();
return $query->result_array();
}
在Controller中:您需要将所有获取行信息放入名为&#34; $ h&#34;的变量中。用$ h替换$ data [&#39; h&#39;]。
public function pass_print() {
$id = $this->uri->segment(3);
$h = $this->admin_model->get_row($id);
$this->load->view('header');
$this->load->view('sidebar');
$this->load->view('print_pass',$data);
$this->load->view('footer');
}
在视图中:使用foreach循环代替while循环,它给出了正确的结果。
<?php foreach($h as $data){?>
<div class="form-group">
<label for="inputEmail3" class="col-sm-3 control-label">Visitors Name</label>
<div class="col-sm-9">
<input type="text" class="form-control" id="inputEmail3" value="<?php $data['visitor_name']?>" name="visitor" placeholder="Visitors Name">
</div>
</div>
<?php}?>
答案 2 :(得分:0)
对于模型,您可以改为编写:
$this->db->get_where('pending_list', array('id'=>$id))->row();
对于视图,请使用此代码获取其值:
echo $h->visitor_name;