有了这两个参数就可以很方便的写出分页程序,我们以MySql数据库作为数据源,在mysql里如果要想取出表内某段特定内容可以使用的 T-SQL语句:select * from table limit offset,rows来实现。这里的offset是记录偏移量,它的计算方法是offset=$pagesize*($page-1),rows是要显示的记录条数,这里就是$page。也就是说select * from table limit 10,10这条语句的意思是取出表里从第11条记录开始的20条记录。
代码如下 | 复制代码 |
<?php $this->totalNum = $count;//总记录数 $this->hasNextPage = $this->pageNo >= $this->pageCount ?false:true; }else if($this->pageNo > $this->pageCount - 4){ /*** ?> |
css
代码如下 | 复制代码 |
<style type="text/css"> --> |
使用方法
代码如下 | 复制代码 |
$pageNo = $_GET['pageNo'];
|
下面再介绍一个分页类
代码如下 | 复制代码 |
<?php |
调用方法
代码如下 | 复制代码 |
<?php |
如下面例子:
代码如下 | 复制代码 |
$foo[1]['a']['xx'] = 'bar 1'; |
如果要查找 bar 3 怎么进行查找呢。有三个结果,而这三个结果都要,看下面的函数:
-------------------------------------------------------------------------------------------------------------------------------
代码如下 | 复制代码 |
function array_search_re($needle, $haystack, $a=0, $nodes_temp=array()){ global $nodes_found; $a++; foreach ($haystack as $key1=>$value1) { $nodes_temp[$a] = $key1; if (is_array($value1)){ array_search_re($needle, $value1, $a, $nodes_temp); } else if ($value1 === $needle){ $nodes_found[] = $nodes_temp; } } return $nodes_found; } |
---------------------------------------------------------------------------------------------------------------------------------
这个函数就可以把上面要查找到的内容全部返回出键名来
代码如下 | 复制代码 |
$result = array_search_re('bar 3', $foo); print_r($result); |
输出结果为如下:
Array ( [0] => Array ( [1] => 2 [2] => a [3] => bb )
[1] => Array ( [1] => 3 [2] => c [3] => dd )
[2] => Array ( [1] => 3 [2] => f [3] => gg )
)
1 php搜索多维数组的键名
代码如下 | 复制代码 |
function array_search_key($needle, $haystack){ foreach ($haystack as $key1=>$value1) { return $nodes_found; print_r($result); |
输出结果为如下:
代码如下 | 复制代码 |
Array [1] => Array [2] => Array ) |
类似全文匹配!用二个循环 第一个循环keys 第二个模糊匹配 用函数strstr() 来解决
本文章是一个自己的对CI框架的学习笔记,用一个完整的搜索,查找并且实现分页的程序给大家参考参考。举个按关键词搜索结果分页的例子,
1.视图HTML
代码如下 | 复制代码 |
<div id="body"> |
即表单提交到名叫search的controller和名叫index的方法, 其中包含了一些动态参数,不是纯列表,故相对比较复杂,后面会提到。
代码如下 | 复制代码 |
public function index() { if (empty ( $offset )) { if (! empty ( $keyword )) { $per_page = 10; $this->pagination->initialize ( $config ); |
因为config.php中默认的enable_query_strings是false, 起始位置始终在最后,这样出来的结果类似/index.php/search/index/?s=中国/10,页码取不到,需要将此配置改为false;
3.模型
代码如下 | 复制代码 |
public function find_by_name($name, $per_page=0, $offset = 0, $is_total = false) { if ($is_total) {//总数 $query = $this->db->query ( "select count(id) as cnt from {$this->_book} where book_name like '%{$name}%'" ); if ($query->num_rows () > 0) { $row = $query->row (); $ret = $row->cnt; } }else{//列表 $query = $this->db->query ("select * from {$this->_book} where book_name like '%{$name}%' limit {$offset}, {$per_page}"); $ret = $query->result (); } return $ret; } |
在下载文件中加入下段代码即可解决
代码如下 | 复制代码 |
$name = rawurlencode($filename); |
实例1
代码如下 | 复制代码 |
<?php |
实例2
代码如下 | 复制代码 |
<?php /** /** } } /** if (!file_exists(filename)) { } /** /** /** |
实例3
这个比较高级了,不但可以实现文件的建立,写入,删除,修改,复制,移动,创建目录,删除目录,还可以实现移动目录, copy,替换等操作。
代码如下 | 复制代码 |
<?
// 函数名: writefile // 函数名: movefile function movedir($dir,$destdir,$overwrite=1,$bak=0){ // 函数名: move function move($file,$path,$overwrite=1,$bak=0) // 函数名: delforder function delforder($file) { // 函数名: notfate_mkdir
// 函数名: notfate_any_mkdir
} |