CodeIgniter CI分页类的使用

一、controllers文件

function index ()
    {        
      
            $config['base_url']=site_url('accounts/index');
            $config['total_rows']=100;//数据总条数
            $config['per_page']=5;//每页显示条数
            $config['uri_segment']=3;//设置URI 的哪个部分包含页数
            $config['num_links']=2;//当前页码的前面和后面的“数字”链接的数量
            $config['use_page_numbers']=TRUE;//默认分页URL中是显示每页记录数,启用use_page_numbers后显示的是当前页码
            $config['full_tag_open'] = '<ul class="controls-buttons">';//把打开的标签放在所有结果的左侧。
            $config['full_tag_close'] = '</ul>';//把关闭的标签放在所有结果的右侧。
            $config['first_link'] = 'First';//你希望在分页的左边显示“第一页”链接的名字。如果你不希望显示,可以把它的值设为 FALSE
            $config['first_tag_open'] = '<li>';//“第一页”链接的打开标签。
            $config['first_tag_close'] = '</li>';//“第一页”链接的关闭标签。
            $config['last_link'] = 'Last';//你希望在分页的右边显示“最后一页”链接的名字。如果你不希望显示,可以把它的值设为 FALSE 。
            $config['last_tag_open'] = '<li>';//“最后一页”链接的打开标签。
            $config['last_tag_close'] = '</li>';//“最后一页”链接的关闭标签。
            $config['prev_link'] = '&lt;';//你希望在分页中显示“上一页”链接的名字。如果你不希望显示,可以把它的值设为 FALSE 。
            $config['prev_tag_open'] = '<li>';//“上一页”链接的打开标签 。
            $config['prev_tag_close'] = '</li>';//“上一页”链接的关闭标签 。
            $config['next_link'] = '&gt;';//你希望在分页中显示“下一页”链接的名字。如果你不希望显示,可以把它的值设为 FALSE 。
            $config['next_tag_open'] = '<li>';//“下一页”链接的打开标签 。
            $config['next_tag_close'] = '</li>';//“下一页”链接的关闭标签 。
            $config['num_tag_open'] = '<li>';//“数字”链接的打开标签。
            $config['num_tag_close'] = '</li>';//“数字”链接的关闭标签。
            $config['cur_tag_open'] = '<li><a class="current"><b>';//“当前”链接的打开标签。
            $config['cur_tag_close'] = '</b></a></li>';//“当前”链接的关闭标签。
            $this->pagination->initialize($config);//以上参数被 $this->pagination->initialize 方法传递
            $data['pagination']=$this->pagination->create_links();//创建分页变量给$pagination
           
            $arr['num']=$config['per_page'];
            $arr['offset']=$this->uri->segment(3)!==FALSE?$this->uri->segment(3):0;

            $data['accounts'] = $this->Accounts_model->getAccounts($arr);//获取数据

           // Load data variables separately so all views being loaded receive them
            $this->load->vars($data);
          
           // Load template view
            $this->load->view('assets_template');
           
          
    }

二、models文件
function getAccounts($arr=array('num'=>FALSE,'offset'=>FALSE))
    {
        //分页限制
        $limit='';
        if(isset($arr['num']) and isset($arr['offset']) and $arr['num']!==FALSE and $arr['offset']!==FALSE ){
          $limit=" LIMIT {$arr['offset']},{$arr['num']}";
        }
        $query = $this->db->query("select * from tablebname $limit");

        $accounts = array();

        foreach ($query->result() as $row) {
            $accounts[] = $row;
        }
        return $accounts;
    
    }

三、views文件

显示分页
<?php echo $pagination; ?>

<?php if (isset($accounts)): foreach ($accounts as $key => $a): ?>
                            <tr>
                            <td class="th table-check-cell"><input type="checkbox" name="contacts_id[]" id="table-selected-<?php echo $key+1; ?>" value="<?php echo $a->id; ?>"></td>                            
                            <td><?php echo anchor('contacts/view/'.$a->id, $a->name);?></td>
                            <td><?php if($a->template_id){ ?><a href="#<?php echo $a->template_id; ?>"><?php echo $a->template_name; ?></a><?php }else{ ?>默认模板<?php } ?></td>
                            <td><?php foreach($a->group as $k=>$v){ ?>
                                <a href="#"><?php echo $v->name; ?></a>
                                <?php }?>
                            </td>
                            <td class="table-actions">
                                <a href="#" title="Edit" class="with-tip"><img src="<?php echo base_url(); ?>images/icons/fugue/pencil.png" width="16" height="16"></a>
                                <a href="#" title="Delete" class="with-tip"><img src="<?php echo base_url(); ?>images/icons/fugue/cross-circle.png" width="16" height="16"></a>
                            </td>
                            </tr>
                            <?php endforeach; endif; ?>

PHP如何替换换行符

php替换换行符要知道操作系统中的换行符用什么表示
1)Windows :\n
2)Linux:\r\n
3)Unix:\r

所以替换换行符要替换这三个符号
方法如下

<?php
$text='php替换换行php
替换换行php替换换行
php替换换行';
$text=str_replace("\n","<br/>",$text);
$text=str_replace("\r","<br/>",$text);
$text=str_replace("\r\n","<br/>",$text);
echo $text;
/*
php替换换行php<br/><br/>替换换行php替换换行<br/><br/>php替换换行
*/
?>
简化写法
<?php
$arr   = array("\r\n", "\n", "\r");
$replace = '';
$text=str_replace($arr, $replace, $text);
?>

wordpress常用函数-wp_get_recent_posts()

说明
按发表时间检索数据库中的最新发表文章。默认检索最近十篇文章。

用法
<?php wp_get_recent_posts( $args ) ?>


参数
<?php
$args = array(
           'numberposts' => 10,
    'offset' => 0,
    'category' => 0,
    'orderby' => 'post_date',
    'order' => 'DESC',
    'include' => ,
    'exclude' => ,
    'meta_key' => ,
    'meta_value' =>,
    'post_type' => 'post',
    'post_status' => 'draft, publish, future, pending, private',
    'suppress_filters' => true
    );
?>

或者传入一个(整数)将获取的文章数量

默认值: 10

返回的值
(数组) 跟 get_posts 不同get_posts 返回的是 objects

文章列表

示例
1.返回最新的10篇文章
<h2>Recent Posts</h2>
<ul>
<?php
 $recent_posts = wp_get_recent_posts();
 foreach( $recent_posts as $recent ){
  echo '<li><a href="' . get_permalink($recent["ID"]) . '" title="Look '.esc_attr($recent["post_title"]).'" >' .   $recent["post_title"].'</a> </li> ';
 }
?>
</ul>

2.返回最新的5篇文章
<h2>Recent Posts</h2>
<ul>
<?php
 $args = array( 'numberposts' => '5' );
 $recent_posts = wp_get_recent_posts( $args );
 foreach( $recent_posts as $recent ){
  echo '<li><a href="' . get_permalink($recent["ID"]) . '" title="Look '.esc_attr($recent["post_title"]).'" >' .   $recent["post_title"].'</a> </li> ';
 }
?>
</ul>


修改记录
自1.1.0版本后

源文件
wp_get_recent_posts() is located in wp-includes/post.php.

/**
 * Retrieve number of recent posts.
 *
 * @since 1.0.0
 * @uses wp_parse_args()
 * @uses get_posts()
 *
 * @param string $deprecated Deprecated.
 * @param array $args Optional. Overrides defaults.
 * @param string $output Optional.
 * @return unknown.
 */
function wp_get_recent_posts( $args = array(), $output = ARRAY_A ) {

 if ( is_numeric( $args ) ) {
  _deprecated_argument( __FUNCTION__, '3.1', __( 'Passing an integer number of posts is deprecated. Pass an array of arguments instead.' ) );
  $args = array( 'numberposts' => absint( $args ) );
 }

 // Set default arguments
 $defaults = array(
  'numberposts' => 10, 'offset' => 0,
  'category' => 0, 'orderby' => 'post_date',
  'order' => 'DESC', 'include' => '',
  'exclude' => '', 'meta_key' => '',
  'meta_value' =>'', 'post_type' => 'post', 'post_status' => 'draft, publish, future, pending, private',
  'suppress_filters' => true
 );

 $r = wp_parse_args( $args, $defaults );

 $results = get_posts( $r );

 // Backward compatibility. Prior to 3.1 expected posts to be returned in array
 if ( ARRAY_A == $output ){
  foreach( $results as $key => $result ) {
   $results[$key] = get_object_vars( $result );
  }
  return $results ? $results : array();
 }

 return $results ? $results : false;

}