当前位置: 编程技术>php
本页文章导读:
▪fleaphp crud操作之find函数的使用方法
find函数的原型 代码如下: /** * 返回符合条件的第一条记录及所有关联的数据,查询没有结果返回 false * * @param mixed $conditions * @param string $sort * @param mixed $fields * @param mixed $queryLinks * * @return a.........
▪fleaphp crud操作之findByField函数的使用方法
findByField函数原型 代码如下: /** * 返回具有指定字段值的第一条记录 * * @param string $field * @param mixed $value * @param string $sort * @param mixed $fields * * @return array */ function & findByField($field, $value, $s.........
▪fleaphp常用方法分页之Pager使用方法
Pager 分页函数 代码如下: /** * 构造函数 * * 如果 $source 参数是一个 TableDataGateway 对象,则 FLEA_Helper_Pager 会调用 * 该 TDG 对象的 findCount() 和 findAll() 来确定记录总数并返回记录集。 * * 如果 $so.........
[1]fleaphp crud操作之find函数的使用方法
来源: 互联网 发布时间: 2013-11-30
find函数的原型
/**
* 返回符合条件的第一条记录及所有关联的数据,查询没有结果返回 false
*
* @param mixed $conditions
* @param string $sort
* @param mixed $fields
* @param mixed $queryLinks
*
* @return array
*/
function & find($conditions, $sort = null, $fields = '*', $queryLinks = true)
{
$rowset =& $this->findAll($conditions, $sort, 1, $fields, $queryLinks);
if (is_array($rowset)) {
$row = reset($rowset);
} else {
$row = false;
}
unset($rowset);
return $row;
}
find同findAll的区别在于find少了一个参数$limit,也就是说,find只会找出符合条件的第一条记录
$conditions,
$sort = null,
$fields = ‘*'
$queryLinks = true
$conditions = null, 查询条件
通常数组,包含字段名和值
例如
array('fieldname' => 'value1','fieldnameb' => 'value2')
$sort = null, 排序
字段以及排序的方式,通常这是一个字串
例如
'ID ASC,post_date DESC' //如果只有一个条件可以这样 'ID ASC'
$fields = ‘*';, 需要查询显示的字段,默认全部显示
例如
array('ID','post_title','post_parent')
$queryLinks = true
fleaphp函数find方法的使用和示例
$rowsets = $tableposts->find(array('post_type'=>'post'),'ID ASC,post_date DESC',array('ID','post_title','post_parent'));
dump($rowsets);
代码如下:
/**
* 返回符合条件的第一条记录及所有关联的数据,查询没有结果返回 false
*
* @param mixed $conditions
* @param string $sort
* @param mixed $fields
* @param mixed $queryLinks
*
* @return array
*/
function & find($conditions, $sort = null, $fields = '*', $queryLinks = true)
{
$rowset =& $this->findAll($conditions, $sort, 1, $fields, $queryLinks);
if (is_array($rowset)) {
$row = reset($rowset);
} else {
$row = false;
}
unset($rowset);
return $row;
}
find同findAll的区别在于find少了一个参数$limit,也就是说,find只会找出符合条件的第一条记录
$conditions,
$sort = null,
$fields = ‘*'
$queryLinks = true
$conditions = null, 查询条件
通常数组,包含字段名和值
例如
代码如下:
array('fieldname' => 'value1','fieldnameb' => 'value2')
$sort = null, 排序
字段以及排序的方式,通常这是一个字串
例如
代码如下:
'ID ASC,post_date DESC' //如果只有一个条件可以这样 'ID ASC'
$fields = ‘*';, 需要查询显示的字段,默认全部显示
例如
代码如下:
array('ID','post_title','post_parent')
$queryLinks = true
fleaphp函数find方法的使用和示例
代码如下:
$rowsets = $tableposts->find(array('post_type'=>'post'),'ID ASC,post_date DESC',array('ID','post_title','post_parent'));
dump($rowsets);
[2]fleaphp crud操作之findByField函数的使用方法
来源: 互联网 发布时间: 2013-11-30
findByField函数原型
/**
* 返回具有指定字段值的第一条记录
*
* @param string $field
* @param mixed $value
* @param string $sort
* @param mixed $fields
*
* @return array
*/
function & findByField($field, $value, $sort = null, $fields = '*')
{
return $this->find(array($field => $value), $sort, $fields);
}
findByField函数参数说明
$field 提供查询的字段
$value 提供查询的值
$sort 排序方式
$fields 需要查询显示的字段名
fleaphp crud操作之findByField函数的用法示例
$dirname = dirname(__FILE__);
define('APP_DIR', $dirname . '/APP');
define('NO_LEGACY_FLEAPHP', true);
require($dirname.'/FleaPHP/FLEA/FLEA.php');
//设置缓存目录
FLEA::setAppInf('internalCacheDir',$dirname.'/_Cache');
//链接数据库
$dsn = array(
'driver' => 'mysql',
'host' => 'localhost',
'login' => 'root',
'password' => '',
'database' => 'wordpress'
);
FLEA::setAppInf('dbDSN',$dsn);
//读取wp_posts的内容
FLEA::loadClass('FLEA_Db_TableDataGateway');
class Teble_Class extends FLEA_Db_TableDataGateway {
var $tableName = 'wp_posts';
var $primaryKey = 'ID';
}
$tableposts =& new Teble_Class();
$rowsets = $tableposts->findByField('ID',4,'post_date DESC',array('ID','post_title'));
dump($rowsets);
代码如下:
/**
* 返回具有指定字段值的第一条记录
*
* @param string $field
* @param mixed $value
* @param string $sort
* @param mixed $fields
*
* @return array
*/
function & findByField($field, $value, $sort = null, $fields = '*')
{
return $this->find(array($field => $value), $sort, $fields);
}
findByField函数参数说明
$field 提供查询的字段
$value 提供查询的值
$sort 排序方式
$fields 需要查询显示的字段名
fleaphp crud操作之findByField函数的用法示例
代码如下:
$dirname = dirname(__FILE__);
define('APP_DIR', $dirname . '/APP');
define('NO_LEGACY_FLEAPHP', true);
require($dirname.'/FleaPHP/FLEA/FLEA.php');
//设置缓存目录
FLEA::setAppInf('internalCacheDir',$dirname.'/_Cache');
//链接数据库
$dsn = array(
'driver' => 'mysql',
'host' => 'localhost',
'login' => 'root',
'password' => '',
'database' => 'wordpress'
);
FLEA::setAppInf('dbDSN',$dsn);
//读取wp_posts的内容
FLEA::loadClass('FLEA_Db_TableDataGateway');
class Teble_Class extends FLEA_Db_TableDataGateway {
var $tableName = 'wp_posts';
var $primaryKey = 'ID';
}
$tableposts =& new Teble_Class();
$rowsets = $tableposts->findByField('ID',4,'post_date DESC',array('ID','post_title'));
dump($rowsets);
[3]fleaphp常用方法分页之Pager使用方法
来源: 互联网 发布时间: 2013-11-30
Pager 分页函数
/**
* 构造函数
*
* 如果 $source 参数是一个 TableDataGateway 对象,则 FLEA_Helper_Pager 会调用
* 该 TDG 对象的 findCount() 和 findAll() 来确定记录总数并返回记录集。
*
* 如果 $source 参数是一个字符串,则假定为 SQL 语句。这时,FLEA_Helper_Pager
* 不会自动调用计算各项分页参数。必须通过 setCount() 方法来设置作为分页计算
* 基础的记录总数。
*
* 同时,如果 $source 参数为一个字符串,则不需要 $conditions 和 $sortby 参数。
* 而且可以通过 setDBO() 方法设置要使用的数据库访问对象。否则 FLEA_Helper_Pager
* 将尝试获取一个默认的数据库访问对象。
*
* @param TableDataGateway|string $source
* @param int $currentPage
* @param int $pageSize
* @param mixed $conditions
* @param string $sortby
* @param int $basePageIndex
*
* @return FLEA_Helper_Pager
*/
function FLEA_Helper_Pager(& $source, $currentPage, $pageSize = 20, $conditions = null, $sortby = null, $basePageIndex = 0)
{
$this->_basePageIndex = $basePageIndex;
$this->_currentPage = $this->currentPage = $currentPage;
$this->pageSize = $pageSize;
if (is_object($source)) {
$this->source =& $source;
$this->_conditions = $conditions;
$this->_sortby = $sortby;
$this->totalCount = $this->count = (int)$this->source->findCount($conditions);
$this->computingPage();
} elseif (!empty($source)) {
$this->source = $source;
$sql = "SELECT COUNT(*) FROM ( $source ) as _count_table";
$this->dbo =& FLEA::getDBO();
$this->totalCount = $this->count = (int)$this->dbo->getOne($sql);
$this->computingPage();
}
}
Pager 参数说明
$source 数据库操作类
$currentPage 当前页
$pageSize 每页显示记录数量
$conditions 查询条件
$sortby 排序方式
$basePageIndex 页码基数
Pager 使用示例(实例)
$dirname = dirname(__FILE__);
define('APP_DIR', $dirname . '/APP');
define('NO_LEGACY_FLEAPHP', true);
require($dirname.'/FleaPHP/FLEA/FLEA.php');
//设置缓存目录
FLEA::setAppInf('internalCacheDir',$dirname.'/_Cache');
//链接数据库
$dsn = array(
'driver' => 'mysql',
'host' => 'localhost',
'login' => 'root',
'password' => '',
'database' => 'wordpress'
);
FLEA::setAppInf('dbDSN',$dsn);
//读取wp_posts的内容
FLEA::loadClass('FLEA_Db_TableDataGateway');
FLEA::loadClass('FLEA_Helper_Pager');
//FLEA::loadHelper('pager');
class Teble_Class extends FLEA_Db_TableDataGateway {
var $tableName = 'wp_posts';
var $primaryKey = 'ID';
}
$tableposts =& new Teble_Class();
$pager =& new FLEA_Helper_Pager($tableposts,2,5);
$page = $pager->getPagerData();
print_r($page);
getPagerData 返回一些数据供调用
$data = array(
'pageSize' => $this->pageSize,
'totalCount' => $this->totalCount,
'count' => $this->count,
'pageCount' => $this->pageCount,
'firstPage' => $this->firstPage,
'firstPageNumber' => $this->firstPageNumber,
'lastPage' => $this->lastPage,
'lastPageNumber' => $this->lastPageNumber,
'prevPage' => $this->prevPage,
'prevPageNumber' => $this->prevPageNumber,
'nextPage' => $this->nextPage,
'nextPageNumber' => $this->nextPageNumber,
'currentPage' => $this->currentPage,
'currentPageNumber' => $this->currentPageNumber,
);
代码如下:
/**
* 构造函数
*
* 如果 $source 参数是一个 TableDataGateway 对象,则 FLEA_Helper_Pager 会调用
* 该 TDG 对象的 findCount() 和 findAll() 来确定记录总数并返回记录集。
*
* 如果 $source 参数是一个字符串,则假定为 SQL 语句。这时,FLEA_Helper_Pager
* 不会自动调用计算各项分页参数。必须通过 setCount() 方法来设置作为分页计算
* 基础的记录总数。
*
* 同时,如果 $source 参数为一个字符串,则不需要 $conditions 和 $sortby 参数。
* 而且可以通过 setDBO() 方法设置要使用的数据库访问对象。否则 FLEA_Helper_Pager
* 将尝试获取一个默认的数据库访问对象。
*
* @param TableDataGateway|string $source
* @param int $currentPage
* @param int $pageSize
* @param mixed $conditions
* @param string $sortby
* @param int $basePageIndex
*
* @return FLEA_Helper_Pager
*/
function FLEA_Helper_Pager(& $source, $currentPage, $pageSize = 20, $conditions = null, $sortby = null, $basePageIndex = 0)
{
$this->_basePageIndex = $basePageIndex;
$this->_currentPage = $this->currentPage = $currentPage;
$this->pageSize = $pageSize;
if (is_object($source)) {
$this->source =& $source;
$this->_conditions = $conditions;
$this->_sortby = $sortby;
$this->totalCount = $this->count = (int)$this->source->findCount($conditions);
$this->computingPage();
} elseif (!empty($source)) {
$this->source = $source;
$sql = "SELECT COUNT(*) FROM ( $source ) as _count_table";
$this->dbo =& FLEA::getDBO();
$this->totalCount = $this->count = (int)$this->dbo->getOne($sql);
$this->computingPage();
}
}
Pager 参数说明
$source 数据库操作类
$currentPage 当前页
$pageSize 每页显示记录数量
$conditions 查询条件
$sortby 排序方式
$basePageIndex 页码基数
Pager 使用示例(实例)
代码如下:
$dirname = dirname(__FILE__);
define('APP_DIR', $dirname . '/APP');
define('NO_LEGACY_FLEAPHP', true);
require($dirname.'/FleaPHP/FLEA/FLEA.php');
//设置缓存目录
FLEA::setAppInf('internalCacheDir',$dirname.'/_Cache');
//链接数据库
$dsn = array(
'driver' => 'mysql',
'host' => 'localhost',
'login' => 'root',
'password' => '',
'database' => 'wordpress'
);
FLEA::setAppInf('dbDSN',$dsn);
//读取wp_posts的内容
FLEA::loadClass('FLEA_Db_TableDataGateway');
FLEA::loadClass('FLEA_Helper_Pager');
//FLEA::loadHelper('pager');
class Teble_Class extends FLEA_Db_TableDataGateway {
var $tableName = 'wp_posts';
var $primaryKey = 'ID';
}
$tableposts =& new Teble_Class();
$pager =& new FLEA_Helper_Pager($tableposts,2,5);
$page = $pager->getPagerData();
print_r($page);
getPagerData 返回一些数据供调用
代码如下:
$data = array(
'pageSize' => $this->pageSize,
'totalCount' => $this->totalCount,
'count' => $this->count,
'pageCount' => $this->pageCount,
'firstPage' => $this->firstPage,
'firstPageNumber' => $this->firstPageNumber,
'lastPage' => $this->lastPage,
'lastPageNumber' => $this->lastPageNumber,
'prevPage' => $this->prevPage,
'prevPageNumber' => $this->prevPageNumber,
'nextPage' => $this->nextPage,
'nextPageNumber' => $this->nextPageNumber,
'currentPage' => $this->currentPage,
'currentPageNumber' => $this->currentPageNumber,
);
最新技术文章: