青岛有做网站的吗,网站建设公众,wordpress禁止访问txt,小程序定制开发自定义SQL语句 当提供的API满足不了我们对SQL语句的要求的时候#xff0c;我们通常是自己来写SQL语句#xff0c;CI也提供了比较强大了#xff0c;能够满足我们需求的一般的sql的API。 $res$…自定义SQL语句 当提供的API满足不了我们对SQL语句的要求的时候我们通常是自己来写SQL语句CI也提供了比较强大了能够满足我们需求的一般的sql的API。 $res$this-db-select(id,name)-from(表名)-whrer(id ,5)//注意id后面要有个空格-limit(3,2)//这里与sql的limit是顺序是反的-order_by(id desc )-get();//翻译成sql语句
var_dump($res-result());
echo $this-db-last_query();//先是最近一条SQL 自定义扩展控制器 在application/core中新建MY_Controller.php class MY_Controller extends CI_Controller
{public function __construct(){parent::__construct();//一定呀先调用父类的构造方法//登录验证、权限验证、其他操作。。。}
} 同时需要在application/config/config.php中配置一下 $config[subclass_prefix] MY_; 自定义扩展模型 在application/models中创建user_model.php class User_model extends CI_Model
{public function getAll(){$res $this-db-get(表名);return $res-result();}
} 在控制器中调用自定义模型 application/controllers: class User extends MY_Controller
{public function index(){$this-load-model(User_model);//调用以类名为主而不是文件名 $list $this-User_model-getAll();//调用模型获取数据 $this-load-view(user/index,array(list$list));//加载视图 }
} 加载模型的时候可以给模型取一个名字 $this-load-model(User_model,user);//调用以类名为主而不是文件名
$list $this-user-getAll();//调用模型获取数据 Url相关函数 在表单验证的时候需要把数据传给控制器怎么准确的而且可扩展的写action呢调用API public function addView()
{$this-load-helper(url);//为了不把表单传递的地址写死用url函数$this-load-view(user/add);
} 在user/add.php视图当中 form action?php echo site_url(user/insert); ? methodpost
!-- ........--
/form 如果是index.php目录的话用 base_url(); 这个API。 同时每次加载url很麻烦也可是设置成自动加载在config/config.php中修改 $config[helper] array(url); 可能在后面的版本中就没有这个自动加载了。 路由 想要把12.html中的.html删了怎么办这就需要匹配路由规则了在config/routes.php $route[rouxx/showxx/([\d])\.html] rou/show/$1;//插入这句话 分页 必须知道的一些参数总共有多少条记录 一页要有多少条记录 总共多少页 当前页前后要显示多少个分页链接 设置一些CI分页类基本参数 //总条数
$config[total_rows]
//一页显示几条
$config[per_page]
//定义当前页的前后各有几个数字链接
$config[num_links]
//定义没有分页参数,主URL
$config[base_url] 调用CI的分页类 $this-load-library(pagination); 执行分页方法 $this-pagination-initialize($config); 输出分页链接 echo $this-pagination-create_links(); 查询部分数据(limit) echo $this-db-limit($num,$start); //从$start查$num条 ?php
if ( ! defined(BASEPATH)) exit(No direct script access allowed);class Page extends CI_Controller {public function user_add(){$this-load-model(test_m);for ($i 1;$i 100;$i){$name u.$i;$arr array(usid$i,uname$name,upass123456);$this-test_m-user_insert($arr);}}public function pagelist(){$this-load-model(test_m);$user $this-test_m-user_select_all();$allnum count($user);$pagenum 20;$config[total_rows] $allnum;$config[per_page] $pagenum;$config[num_links] 3;$config[base_url] /CI/index.php/page/pagelist;$config[use_page_numbers] true;$this-load-library(pagination);$this-pagination-initialize($config);var_dump($this-pagination-create_links());echo $this-pagination-create_links();echo br /;$id $this-uri-segment(3); //获得url第三段字符$id $id ? $id:1;$start ($id - 1) * $pagenum;$list $this-test_m-user_select_limit($start,$pagenum);var_dump($list);}
} 上传文件 视图 /views/up.php htmlform actionci/CodeIgniter_2.2.0/index.php/upload/up methodpost enctypemultipart/form-datainput typefile nameupfile /input typesubmit namesub value提交 //form
/html 控制器 定义一个数组设置一些与上传相关的参数 $config[upload_path] ./uploads/;
//设置允许上传的类型
$config[allowed_types] gif|jpg|png;
$config[max_size] 100;
//如果是图片还可以设置最大高度和宽度
$config[max_height] 768;
$config[max_width] 1024; 还可以设置其他的一些额外参数详细看用户手册。 调用CI的上传通用类并执行上传 //upload为调用的类名全小写
$this-load-library(upload,$config);
//如果上传框的name写的是userfile那就不用传参数了如果不是把name的值传进去
$this-upload-do_upload(上传框的name); 接收出错信息或成功信息 //出错信息
$error array(error $this-upload-display_error());
//成功信息
$data array(upload_data $this-upload-data()); ?php
if ( ! defined(BASEPATH)) exit(No direct script access allowed);class Upload extends CI_Controller {//显示带表单的视图public function index(){$this-load-view(up);}//显示上传信息public function up(){$config[upload_path] ./uploads/;$config[allowed_types] gif|jpg|png;$config[max_size] 2000;$this-load-library(upload,$config);//打印成功或错误的信息if($this-upload-do_upload(upfile)){$data array(upload_data $this-upload-data());var_dump($data);}else{$error array(error $this-upload-display_errors());var_dump($error);}}
} Session 利用CI类实现session登录 修改配置文件config.php //生成一个随机不重复的字符串走位加密的key保存到config.php的encryption_key中
$config[encryption_key]adb8bf6d0ac4e17b42a80941582497a4; 加载SESSION类 $this-load-library(session); 创建SESSION $array array(id3,namejack);
$this-session-set_userdata($array); 查看SESSION $this-session-userdata(session名); 删除SESSION $this-session-unset_userdata(SESSION名); 在config.php文件中修改一下配置便可以对cookie加密 $config[sess_cookie_name] ci_session;$config[sess_expiration] 7200;$config[sess_expire_on_close] FALSE;$config[sess_encrypt_cookie] TRUE$config[sess_use_database] FALSE;$config[sess_table_name] ci_sessions;$config[sess_match_ip] FALSE;$config[sess_match_useragent] TRUE;$config[sess_time_to_update] 300; 一次性数据只能读取一次 //设置
$this-session-set_flashdata(test,aaaaa);
//读取
$test $this-session-flashdata(test); 转载于:https://www.cnblogs.com/yydcdut/p/3849974.html