목차
ci框架(二),ci框架
php CI 框架怎从数据库中取值(一个二维数组)以表格的形式显示到view层
php CI框架问题?小弟是初学者
백엔드 개발 PHP 튜토리얼 ci框架(二),ci框架_PHP教程

ci框架(二),ci框架_PHP教程

Jul 13, 2016 am 10:23 AM
2차원 배열

ci框架(二),ci框架

自定义SQL语句                                                                            

当提供的API满足不了我们对SQL语句的要求的时候,我们通常是自己来写SQL语句,CI也提供了比较强大了,能够满足我们需求的一般的sql的API。

<span>$res</span>=<span>$this</span>->db->select('id,name'<span>)
    </span>->from('表名'<span>)
    </span>->whrer('id >=',5)<span>//</span><span>注意id后面要有个空格</span>
    ->limit(3,2<span>)<span>//这里与sql的limit是顺序是反的</span>
    </span>->order_by('id desc '<span>)
    </span>->get();<span>//</span><span>翻译成sql语句</span>
<span>var_dump</span>(<span>$res</span>-><span>result());
</span><span>echo</span> <span>$this</span>->db->last_query();<span>//</span><span>先是最近一条SQL</span>
로그인 후 복사

自定义扩展控制器

在application/core中新建MY_Controller.php

<span>class</span> MY_Controller <span>extends</span><span> CI_Controller
{
    </span><span>public</span> <span>function</span><span> __construct()
    {
        parent</span>::<span>__construct();
        </span><span>//</span><span>一定呀先调用父类的构造方法
        //登录验证、权限验证、其他操作。。。</span>
<span>    }
}</span>
로그인 후 복사

同时需要在application/config/config.php中配置一下:

<span>$config</span>['subclass_prefix'] = 'MY_';
로그인 후 복사

自定义扩展模型

在application/models中创建user_model.php

<span>class</span> User_model <span>extends</span><span> CI_Model
{
    </span><span>public</span> <span>function</span><span> getAll()
    {
        </span><span>$res</span> = <span>$this</span>->db->get('表名'<span>);
        </span><span>return</span> <span>$res</span>-><span>result();
    }
}</span>
로그인 후 복사

在控制器中调用自定义模型

application/controllers:

<span>class</span> User <span>extends</span><span> MY_Controller
{
    </span><span>public</span> <span>function</span><span> index()
    {
        </span><span>$this</span>->load->model('User_model');<span>//</span><span>调用以类名为主,而不是文件名</span>
로그인 후 복사
<span>$list</span> = <span>$this</span>->User_model->getAll();<span>//</span><span>调用模型获取数据</span>
로그인 후 복사
<span>$this</span>->load->view('user/index',<span>array</span>('list'=><span>$list</span>));<span>//</span><span>加载视图</span><span>  
    }   
}</span>
로그인 후 복사

加载模型的时候可以给模型取一个名字:

<span>$this</span>->load->model('User_model','user');<span>//</span><span>调用以类名为主,而不是文件名        </span>
<span>$list</span> = <span>$this</span>->user->getAll();<span>//</span><span>调用模型获取数据</span>
로그인 후 복사

Url相关函数

在表单验证的时候,需要把数据传给控制器,怎么准确的而且可扩展的写action呢,调用API:

<span>public</span> <span>function</span><span> addView()
{
    </span><span>$this</span>->load->helper('url');<span>//</span><span>为了不把表单传递的地址写死,用url函数</span>
    <span>$this</span>->load->view('user/add'<span>);
}</span>
로그인 후 복사

在user/add.php视图当中:

<span><</span><span>form </span><span>action</span><span>="<?php echo site_url('user/insert'); ?>"</span><span> method</span><span>="post"</span><span>></span>
<span><!--</span><span> ........</span><span>--></span>
<span></</span><span>form</span><span>></span>
로그인 후 복사

如果是index.php目录的话,用:

base_url();
로그인 후 복사

这个API。

同时,每次加载url很麻烦,也可是设置成自动加载,在config/config.php中修改:

<span>$config</span>['helper'] = <span>array</span>('url');
로그인 후 복사

可能在后面的版本中就没有这个自动加载了。

路由

ci框架(二),ci框架_PHP教程$route['rouxx/showxx/([\d]+)\.html'] = 'rou/show/$1';//插入这句话

ci框架(二),ci框架_PHP教程分页

  • 必须知道的一些参数

总共有多少条记录

一页要有多少条记录

总共多少页

当前页前后要显示多少个分页链接

  • 设置一些CI分页类基本参数
<span>//</span><span>总条数</span>
<span>$config</span>['total_rows'<span>]
</span><span>//</span><span>一页显示几条</span>
<span>$config</span>['per_page'<span>]
</span><span>//</span><span>定义当前页的前后各有几个数字链接</span>
<span>$config</span>['num_links'<span>]
</span><span>//</span><span>定义没有分页参数,主URL</span>
<span>$config</span>['base_url']
로그인 후 복사
  • 调用CI的分页类
<span>$this</span>->load->library('pagination');
로그인 후 복사
  • 执行分页方法
<span>$this</span>->pagination->initialize(<span>$config</span>);
로그인 후 복사
  • 输出分页链接
<span>echo</span> <span>$this</span>->pagination->create_links();
로그인 후 복사
  • 查询部分数据(limit)
<span>echo</span> <span>$this</span>->db->limit(<span>$num</span>,<span>$start</span>);  <span>//</span><span>从$start查$num条</span>
로그인 후 복사
<?<span>php 
</span><span>if</span> ( ! <span>defined</span>('BASEPATH')) <span>exit</span>('No direct script access allowed'<span>);

</span><span>class</span> Page <span>extends</span><span> CI_Controller {

    </span><span>public</span> <span>function</span><span> user_add(){
        </span><span>$this</span>->load->model('test_m'<span>);

        </span><span>for</span> (<span>$i</span> = 1;<span>$i</span> <= 100;<span>$i</span>++<span>){
            </span><span>$name</span> = 'u'.<span>$i</span><span>;
            </span><span>$arr</span> = <span>array</span>("usid"=><span>$i</span>,"uname"=><span>$name</span>,"upass"=>123456<span>);
            </span><span>$this</span>->test_m->user_insert(<span>$arr</span><span>);

        }
    }

    </span><span>public</span> <span>function</span><span> pagelist(){
        </span><span>$this</span>->load->model('test_m'<span>);
        </span><span>$user</span> = <span>$this</span>->test_m-><span>user_select_all();
        </span><span>$allnum</span> = <span>count</span>(<span>$user</span><span>);
        </span><span>$pagenum</span> = 20<span>;

        </span><span>$config</span>['total_rows'] = <span>$allnum</span><span>;
        </span><span>$config</span>['per_page'] = <span>$pagenum</span><span>;
        </span><span>$config</span>['num_links'] = 3<span>;
        </span><span>$config</span>['base_url'] = "/CI/index.php/page/pagelist"<span>;
        </span><span>$config</span>['use_page_numbers'] = <span>true</span><span>;

        </span><span>$this</span>->load->library('pagination'<span>);
        </span><span>$this</span>->pagination->initialize(<span>$config</span><span>);

        </span><span>var_dump</span>(<span>$this</span>->pagination-><span>create_links());
        </span><span>echo</span> <span>$this</span>->pagination-><span>create_links();

        </span><span>echo</span> "<br />"<span>;
        </span><span>$id</span> = <span>$this</span>->uri->segment(3);  <span>//</span><span>获得url第三段字符</span>
        <span>$id</span> =<span>$id</span> ? <span>$id</span>:1<span>;
        </span><span>$start</span> = (<span>$id</span> - 1) * <span>$pagenum</span><span>;
        </span><span>$list</span> = <span>$this</span>->test_m->user_select_limit(<span>$start</span>,<span>$pagenum</span><span>);
        </span><span>var_dump</span>(<span>$list</span><span>);
    }
}</span>
로그인 후 복사

上传文件

视图 /views/up.php:

<span><</span><span>html</span><span>></span>
    <span><</span><span>form </span><span>action</span><span>="ci/CodeIgniter_2.2.0/index.php/upload/up"</span><span> method</span><span>="post"</span><span> enctype</span><span>="multipart/form-data"</span><span>></span>
        <span><</span><span>input </span><span>type</span><span>="file"</span><span> name</span><span>="upfile"</span> <span>/></span>
        <span><</span><span>input </span><span>type</span><span>="submit"</span><span> name</span><span>="sub"</span><span> value</span><span>="提交"</span> <span>/></span>
    <span></</span><span>form</span><span>></span>
<span></</span><span>html</span><span>></span>
로그인 후 복사

控制器:

  • 定义一个数组,设置一些与上传相关的参数
<span>$config</span>['upload_path'] = './uploads/'<span>;
</span><span>//</span><span>设置允许上传的类型</span>
<span>$config</span>['allowed_types'] = 'gif|jpg|png'<span>;
</span><span>$config</span>['max_size'] = '100'<span>;
</span><span>//</span><span>如果是图片还可以设置最大高度和宽度</span>
<span>$config</span>['max_height'] = 768<span>;
</span><span>$config</span>['max_width'] = 1024;
로그인 후 복사

还可以设置其他的一些额外参数,详细看用户手册。

  • 调用CI的上传通用类,并执行上传
<span>//</span><span>upload为调用的类名,全小写</span>
<span>$this</span>->load->library('upload',<span>$config</span><span>);
</span><span>//</span><span>如果上传框的name写的是userfile,那就不用传参数了,如果不是,把name的值传进去</span>
<span>$this</span>->upload->do_upload('上传框的name');
로그인 후 복사
  • 接收出错信息或成功信息
<span>//</span><span>出错信息</span>
<span>$error</span> = <span>array</span>('error' => <span>$this</span>->upload-><span>display_error());
</span><span>//</span><span>成功信息</span>
<span>$data</span> = <span>array</span>('upload_data' => <span>$this</span>->upload->data());
로그인 후 복사
<?<span>php 
</span><span>if</span> ( ! <span>defined</span>('BASEPATH')) <span>exit</span>('No direct script access allowed'<span>);

</span><span>class</span> Upload <span>extends</span><span> CI_Controller {
    </span><span>//</span><span>显示带表单的视图</span>
    <span>public</span> <span>function</span><span> index(){
        </span><span>$this</span>->load->view('up'<span>);
    }
    </span><span>//</span><span>显示上传信息</span>
    <span>public</span> <span>function</span><span> up(){
        </span><span>$config</span>['upload_path'] = './uploads/'<span>;
        </span><span>$config</span>['allowed_types'] = 'gif|jpg|png'<span>;
        </span><span>$config</span>['max_size'] = "2000"<span>;
        </span><span>$this</span>->load->library('upload',<span>$config</span><span>);
        </span><span>//</span><span>打印成功或错误的信息</span>
        <span>if</span>(<span>$this</span>->upload->do_upload('upfile'<span>))
        {
            </span><span>$data</span> = <span>array</span>("upload_data" => <span>$this</span>->upload-><span>data());
            </span><span>var_dump</span>(<span>$data</span><span>);
        }
        </span><span>else</span><span>
        {
            </span><span>$error</span> = <span>array</span>("error" => <span>$this</span>->upload-><span>display_errors());
            </span><span>var_dump</span>(<span>$error</span><span>);
        }
    }
}</span>
로그인 후 복사

Session

利用CI类实现session登录

  • 修改配置文件(config.php)
<span>//</span><span>生成一个随机不重复的字符串走位加密的key保存到config.php的encryption_key中</span>
<span>$config</span>['encryption_key']='adb8bf6d0ac4e17b42a80941582497a4';
로그인 후 복사
  • 加载SESSION类
<span>$this</span>->load->library('session');
로그인 후 복사
  • 创建SESSION
<span>$array</span> = <span>array</span>('id'=>3,'name'=>'jack'<span>);
</span><span>$this</span>->session->set_userdata(<span>$array</span>);
로그인 후 복사
  • 查看SESSION
<span>$this</span>->session->userdata(session名);
로그인 후 복사
  • 删除SESSION
<span>$this</span>->session->unset_userdata('SESSION名');
로그인 후 복사

ci框架(二),ci框架_PHP教程$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;

  • 一次性数据,只能读取一次
<span>//</span><span>设置</span>
<span>$this</span>->session->set_flashdata('test','aaaaa'<span>);
</span><span>//</span><span>读取</span>
<span>$test</span> = <span>$this</span>->session->flashdata('test');
로그인 후 복사

php CI 框架怎从数据库中取值(一个二维数组)以表格的形式显示到view层

控制层
function test_func(){
//获取model页面需要的两个参数
$competition_id = $_GET["competition_id"];
$report_class = $_GET["report_class"];
$this->load->model("Action"); //引入model
$data["head"] = $this->Action->get_report_item($competition_id, $report_class); //引用model的函数
$this->load->view("test_result",$data); //将结果显示在test_result.php页面中
}
view层:


添加结果显示
//此处选择了循环输出从控制层传输的结果




字段名称(含义) //该td中显示的是你从数据库、即model层中获取到的数据的含义,想显示多少,显示哪个,在这里确认


test; ?>


echo “123”;
}?>

 

php CI框架问题?小弟是初学者

在view文件里可以直接用$title了
是 CI 根据$data里的每一个可以声明了一个变量 到view中可以直接调用
CI 架构就是这么干活的 具体怎么去声明的 没太细看
 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/838913.htmlTechArticleci框架(二),ci框架 自定义SQL语句 当提供的API满足不了我们对SQL语句的要求的时候,我们通常是自己来写SQL语句,CI也提供了比较强大了...
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

2차원 PHP 배열을 1차원 배열로 변환하는 방법 2차원 PHP 배열을 1차원 배열로 변환하는 방법 Aug 03, 2023 am 11:14 AM

PHP 배열을 2차원에서 1차원 배열로 변환하는 방법: 1. 루프 순회를 사용하여 2차원 배열을 탐색하고 각 요소를 1차원 배열에 추가합니다. 2. "array_merge" 함수를 사용하여 여러 항목을 병합합니다. 2차원 배열을 "array_merge" 함수에 매개변수로 전달하여 1차원 배열로 변환합니다. 3. "array_reduce" 함수를 사용하면 배열의 모든 값을 처리할 수 있습니다. 콜백 함수를 통해 최종적으로 결과를 반환합니다.

PHP에서 array_sum 함수를 사용하여 2차원 배열의 열에 있는 요소의 합을 계산하는 방법 PHP에서 array_sum 함수를 사용하여 2차원 배열의 열에 있는 요소의 합을 계산하는 방법 Jun 26, 2023 pm 12:45 PM

PHP 프로그래밍에서 array_sum 함수는 배열의 모든 요소의 합을 계산할 수 있는 매우 실용적인 함수입니다. 그러나 2차원 배열의 요소 열의 합을 계산해야 할 경우 몇 가지 문제에 직면할 수 있습니다. 이 기사에서는 PHP에서 array_sum 함수를 사용하여 2차원 배열 열의 요소 합계를 계산하는 방법을 소개합니다. 먼저 2차원 배열의 개념을 이해해야 합니다. 2차원 배열은 여러 개의 배열을 포함하는 배열로, 테이블로 간주할 수 있습니다. 각 배열은 테이블을 나타냅니다.

PHP에서 2차원 배열을 뒤집는 방법 PHP에서 2차원 배열을 뒤집는 방법 Dec 26, 2022 am 09:38 AM

PHP에서 2차원 배열을 뒤집는 방법: 1. PHP 샘플 파일을 만듭니다. 2. 2차원 배열을 정의합니다. 3. "array_reverse($a,true);" 함수를 사용하여 배열을 뒤집습니다. "print_r"로 인쇄하려면 2차원 배열을 반대로 하면 됩니다.

PHP에서 array_column 함수를 사용하여 2차원 배열에서 지정된 열의 값을 얻는 방법 PHP에서 array_column 함수를 사용하여 2차원 배열에서 지정된 열의 값을 얻는 방법 Jun 26, 2023 pm 01:32 PM

PHP 프로그래밍에서는 지정된 열의 값을 얻는 것을 포함하여 배열에 대한 작업을 수행해야 하는 경우가 많습니다. PHP는 매우 편리한 함수인 array_column을 제공하는데, 이는 2차원 배열에서 지정된 열의 값을 빠르게 얻는 데 도움이 됩니다. 이 기사에서는 array_column 함수를 사용하는 방법을 소개합니다. array_column 함수의 기본 사용법: array_column(array$array,mixed$column_key[

PHP에서 2차원 배열을 1차원 배열로 변환하는 방법 PHP에서 2차원 배열을 1차원 배열로 변환하는 방법 Jul 07, 2023 pm 06:42 PM

PHP에서 2차원 배열을 1차원 배열로 변환하는 방법 PHP 개발 중에 2차원 배열을 1차원 배열로 변환해야 하는 시나리오를 자주 접하게 됩니다. 이 문서에서는 이 작업을 쉽게 완료하는 데 도움이 되는 몇 가지 일반적인 방법을 소개합니다. 방법 1: 루프 탐색 사용 가장 간단하고 직접적인 방법은 루프를 사용하여 2차원 배열을 탐색하고 각 요소를 새로운 1차원 배열에 추가하는 것입니다. 다음은 이 메서드를 사용하는 코드 예제입니다: functionflatenArray($array){$result

PHP 5.5 함수에 대한 자세한 설명: array_column 함수를 사용하여 2차원 배열에서 특정 열을 추출하는 방법 PHP 5.5 함수에 대한 자세한 설명: array_column 함수를 사용하여 2차원 배열에서 특정 열을 추출하는 방법 Jul 30, 2023 am 08:45 AM

PHP5.5 함수에 대한 자세한 설명: array_column 함수를 사용하여 2차원 배열에서 특정 열을 추출하는 방법 PHP5.5 버전에서는 지정된 열을 추출할 수 있는 매우 실용적인 함수입니다. 2차원 배열의 데이터 열입니다. 이는 많은 양의 데이터를 작업할 때 유용하므로 필요한 데이터를 빠르게 얻을 수 있습니다. array_column 함수의 기본 구문은 다음과 같습니다: arrayarray_column(array$

PHP에는 2차원 배열이 있나요? PHP에는 2차원 배열이 있나요? Aug 03, 2023 pm 02:45 PM

PHP에는 다른 배열을 요소로 저장할 수 있는 특별한 유형의 배열인 2차원 배열이 있습니다. 2차원 배열의 선언과 액세스는 매우 간단합니다. 차원 배열을 사용하고 인덱싱 또는 연관을 요소로 사용하는 것은 실제 프로그래밍에 매우 유용하며 다양하고 복잡한 데이터 구조를 처리하는 데 사용할 수 있습니다.

C 프로그래밍에서 런타임 시 2D 배열 작업 C 프로그래밍에서 런타임 시 2D 배열 작업 Sep 13, 2023 pm 11:29 PM

질문 런타임 컴파일을 사용하여 2차원 배열에 있는 모든 요소의 합과 곱을 계산하는 C 프로그램을 작성하세요. 솔루션 런타임 컴파일 또는 초기화를 동적 할당이라고도 합니다. 실행 시간(런타임)에 메모리를 할당하는 것을 동적 메모리 할당이라고 합니다. calloc() 및 malloc() 함수는 동적 메모리 할당을 지원합니다. calloc() 및 malloc() 함수는 동적 메모리 할당을 지원합니다. p>이 프로그램에서는 2D 배열의 모든 요소의 합과 런타임 시 모든 요소의 곱을 계산합니다. 논리는 2D 배열의 모든 요소의 합을 계산하는 데 사용됩니다. printf("Sumarrayis:");for(i=0;i<2;i++){&amp

See all articles