午灬夏 发表于 2012-4-12 14:05:24

关于CI的数据库类!

获取所有记录集:
$query = $this->db->query("要执行的 SQL");
foreach ($query->result_array() as $row)
{
   echo $row['title'];
   echo $row['name'];
   echo $row['body'];
}

感觉这个好麻烦!

function getAll($sql)
    {
      $res = $this->query($sql);
      if ($res !== false)
      {
            $arr = array();
            while ($row = mysql_fetch_assoc($res))
            {
                $arr[] = $row;
            }
            return $arr;
      }
      else
      {
            return false;
      }
    }

想把这个方法加到数据库类文件里面去,求指教!

Hex 发表于 2012-4-12 14:51:56

不一定要加到数据库类里吧。
你自己封装一下就好了。

kissgxd 发表于 2012-4-12 15:55:39

我觉得已经很不麻烦的,再简单的话,简单的东西都不好定制

午灬夏 发表于 2012-4-12 15:59:41

kissgxd 发表于 2012-4-12 15:55 static/image/common/back.gif
我觉得已经很不麻烦的,再简单的话,简单的东西都不好定制

$query = $this->db->query("要执行的 SQL");
foreach ($query->result_array() as $row)
{
   echo $row['title'];
   echo $row['name'];
   echo $row['body'];
}

这样如果获取一个结果集,都要写foreach 循环?

kissgxd 发表于 2012-4-13 08:22:59

午灬夏 发表于 2012-4-12 15:59 static/image/common/back.gif
$query = $this->db->query("要执行的 SQL");
foreach ($query->result_array() as $row)
{


是啊这也是最基本的了吧。
本身就是一个类数组形式的数据
要想获得详细数据,怎么着也得循环一次啊

kissgxd 发表于 2012-4-13 08:24:11

午灬夏 发表于 2012-4-12 15:59 static/image/common/back.gif
$query = $this->db->query("要执行的 SQL");
foreach ($query->result_array() as $row)
{


你若是只获得一条,不需要循环的,要想获得多条需要循环

午灬夏 发表于 2012-4-13 09:00:24

kissgxd 发表于 2012-4-13 08:22 static/image/common/back.gif
是啊这也是最基本的了吧。
本身就是一个类数组形式的数据
要想获得详细数据,怎么着也得循环一次啊 ...

;P我看ecshop里面获取一条就用getRow($sql),获取多条用getAll($sql) !

暗夜星辰 发表于 2012-4-13 09:06:17

那也是人家封装在了模型里或者改为数据库接口了

richardw 发表于 2012-4-13 11:04:50

getall了后怎么用?用的时候,多条记录,不还得foreach……

kissgxd 发表于 2012-4-13 13:14:54

午灬夏 发表于 2012-4-13 09:00 static/image/common/back.gif
我看ecshop里面获取一条就用getRow($sql),获取多条用getAll($sql) !

你获得的$query本身就相当于getAll($sql) 了啊
getAll($sql) 后不也得用foreach才能把数据取出来么
页: [1] 2
查看完整版本: 关于CI的数据库类!