用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3875|回复: 14
收起左侧

[已解决] 查询的数据如何引用问题

[复制链接]
发表于 2011-7-14 15:13:43 | 显示全部楼层 |阅读模式
先上代码:
Model
PHP复制代码
 
 public function infoceil($msgid){
  $sql="SELECT * FROM rivcrl_secretary  WHERE msg_id='$msgid'";
  $result=$this->pdodb->query($sql);
  return $result;
 }
 
复制代码


Contraller
PHP复制代码
 
public function infoedit(){
  $msgid=$this->uri->segment(5);
  $data["arr"]=$this->rivsec_model->infoceil($msgid); //查询数据里某个表里一行信息
  $this->load->view("admin/infoedit",$data);
 }
 
复制代码


View
问题就出现在这里,在数据库里查询了一行信息,放在$data["arr"]里,在视图里的某个文本框里我需要显示数据库里msg_title这个字段的值,可是我使用下面的获取方式,提示报错找不到arr,我不知道我这样做可对?请前辈们给指点指点,如何才能正确显示。
<input type="text" value="<?php echo $arr['msg_title'];?>" name="title" />
发表于 2011-7-14 15:20:47 | 显示全部楼层

<?foreach $msg_title as $row?>
先把$msg_title 数组弄出来,然后用$row->fieldname读出具体数据

手厕中有写
发表于 2011-7-14 15:21:40 | 显示全部楼层
<input type="text" value="<?php echo $row->msg_title;?>" name="title" />
 楼主| 发表于 2011-7-14 15:24:53 | 显示全部楼层
cccen 发表于 2011-7-14 15:20


先把$msg_title 数组弄出来,然后用$row->fieldname读出具体数据

我从数据库中查询的数据是存在$data["arr"]中的的诶,而且只有一行数据,也需要遍历吗?不能直接引用吗?
发表于 2011-7-14 15:26:46 | 显示全部楼层
那你就不能用return $result;返回数据
用if($query->num_rows()>0){
                                $row = $query->row();
                           $msg_title=$row->id;
                        }
return $msg_title;
发表于 2011-7-14 15:27:44 | 显示全部楼层
CI返回数据类型真是非常的灵活,但是view端表现就不是很灵活了,也许是水平有限,呵呵。
 楼主| 发表于 2011-7-14 15:34:04 | 显示全部楼层
cccen 发表于 2011-7-14 15:27
CI返回数据类型真是非常的灵活,但是view端表现就不是很灵活了,也许是水平有限,呵呵。 ...

我不是很清楚,在这里我不止要引用msg_title这个字段,还有这一行数据中的其他字段需放置在不同的文本框里,还有需要某个字段的值来进行某些判断,也就是说在视图里能直接使用查询到的这一行数据。
发表于 2011-7-14 15:44:54 | 显示全部楼层
那就用foreach
 楼主| 发表于 2011-7-14 15:57:39 | 显示全部楼层
cccen 发表于 2011-7-14 15:44
那就用foreach

有点乱,我先整理整理思路
发表于 2011-7-14 16:17:16 | 显示全部楼层
本帖最后由 cccen 于 2011-7-14 16:17 编辑

http://codeigniter.org.cn/user_guide/database/results.html

看看这里

本版积分规则