phpcms 数据库表结构-a表数据复制到b表
2022-12-23
1、phpcms封装了对数据库的操作phpcms 数据库表结构,所有对数据库进行操作的.php文件都继承了数据模型基类model.class.php
2、phpcms查询如何接收返回值
PHP用mysql_fetch_array()函数接收查询返回值;
但是phpcms不能用phpcms 数据库表结构,phpcms有专门的方法接收返回值。
代码如下:
方法参数@param $query(mysql_query返回值)
$res=$this->db->query(select * from users);
$data = $this->db->fetch_array($res);
完整代码如下:
$sql = "select * from v9_news where `status`=99 order by inputtime desc";
$res = $this->db->query($sql);
$data = $this->db->fetch_array($res);
这样就可以得到所有的v9_news数据。
fetch_array()方法在/phpcms/libs/classes/model.class.php; 包括其他数据库操作函数都在这里。
比如看PHPCMS框架是流程姿势
1.content_tag类在/phpcms/modules/content/classes/content_tag.class.php
2.this->db = pc_base::load_model('content_model');
数据模型的基础model.class.php类拥有对数据库CRUD的所有操作
以同样的方式
this->db = pc_base::load_model('position_data_model');
这个工具类有一个 positions()
/**
* 推荐位置
* @param $数据
*/
公共功能位置($数据){
$sql = '';
$数组 = 数组();
$posid = intval($data['posid']);
$order = $data['订单'];
$thumb = (empty($data['thumb']) || intval($data['thumb']) == 0) ? 0:1;
$siteid = $GLOBALS['siteid'] ? intval($GLOBALS['siteid']) : 1;
$catid = (empty($data['catid']) || $data['catid'] == 0) ? '' : intval($data['catid']);
如果($catid){
$siteids = getcache('category_content','commons');
如果(!$siteids[$catid])返回假;
$siteid = $siteids[$catid];
$this->category = getcache('category_content_'.$siteid,'commons');
}
如果($catid && $this->category[$catid]['child']){
$catids_str = $this->category[$catid]['arrchildid'];
$pos = strpos($catids_str,',')+1;
$catids_str = substr($catids_str, $pos);
$sql = "`catid` IN ($catids_str) AND ";
} elseif($catid && !$this->category[$catid]['child']) {
$sql = "`catid` = '$catid' AND ";
}
如果($thumb) $sql .= "`thumb` = '1' AND ";
如果(isset($data['where']))$sql .= $data['where'].' 和 ';
if(isset($data['expiration']) && $data['expiration']==1) $sql .= '(`expiration` >= \''.SYS_TIME.'\' 或 `expiration` = \ '0\' ) 和 ';
$sql .= "`posid` = '$posid' AND `siteid` = '".$siteid."'";
$sqls="选择 a.* 从 ". SQL_PREFIX."position_data a left join ".SQL_PREFIX."download b on a.id=b.id where ".$sql." and b.status=99 order by ". $order."limit". $数据['限制'];
//var_dump($this->db->query($sqls)); 死;
$pos_arr = $this->db->fetch_array($this->db->query($sqls)); //原生数据查询结果集获取
//$pos_arr2 = $this->position->select($sql, '*', $data['limit'],$order);
如果(!空($pos_arr)){
foreach ($pos_arr as $info) {
$key = $info['catid'].'-'.$info['id'];
$array[$key] = string2array($info['data']);
$array[$key]['url'] = go($info['catid'],$info['id']);
$array[$key]['id'] = $info['id'];
$array[$key]['catid'] = $info['catid'];
$array[$key]['listorder'] = $info['listorder'];
}
}
返回 $ 数组;
}
分类:
技术要点:
相关文章: