ci フレームワーク (2)、ci フレームワーク_PHP チュートリアル
ci フレームワーク (2)、ci フレームワーク
カスタム SQL ステートメント
提供された API が SQL ステートメントの要件を満たさない場合、通常、CI はニーズを満たすことができる比較的強力な汎用 SQL API も提供します。リーリー
カスタム拡張コントローラー application/core に新しい MY_Controller.php を作成します リーリー 同時に、application/config/config.phpで設定する必要があります:
リーリーカスタム拡張モデル
application/modelsにuser_model.phpを作成しますリーリー コントローラーでカスタムモデルを呼び出す アプリケーション/コントローラー: リーリー リーリー リーリー
モデルをロードするときに、モデルに名前を付けることができます:リーリー
URL 関連機能フォームの検証中に、データをコントローラーに渡す必要があります。 アクションを正確かつスケーラブルに記述する方法:
リーリーuser/add.php ビュー:
リーリーindex.php ディレクトリの場合は、次を使用します: リーリー このAPI。 同時に、毎回 URL をロードするのは非常に面倒です。自動的にロードするように設定し、config/config.php で変更することもできます。 リーリー
おそらくこの自動読み込みは、以降のバージョンでは利用できなくなるでしょう。ルーティング
$route
['rouxx/showxx/([d]+).html'] = 'rou/show/$1';//
この文を挿入
ページネーション 知っておくべきいくつかのパラメータ
レコードは合計何件ありますか
1 ページにいくつのレコードを含める必要がありますか
合計何ページ
現在のページの前後に表示されるページネーションリンクの数
- 设置一些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名');
$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');
控制层
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层:
添加结果显示</h3>
//此处选择了循环输出从控制层传输的结果
字段名称(含义)</td> //该td中显示的是你从数据库、即model层中获取到的数据的含义,想显示多少,显示哪个,在这里确认 </tr> |
test; ?></td> </tr> </table> echo “123”; }?> </div>
$title をビュー ファイル内で直接使用できます このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
![]() ホットAIツール![]() Undresser.AI Undressリアルなヌード写真を作成する AI 搭載アプリ ![]() AI Clothes Remover写真から衣服を削除するオンライン AI ツール。 ![]() Undress AI Tool脱衣画像を無料で ![]() Clothoff.ioAI衣類リムーバー ![]() AI Hentai GeneratorAIヘンタイを無料で生成します。 ![]() 人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
1 か月前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最高のグラフィック設定
1 か月前
By 尊渡假赌尊渡假赌尊渡假赌
アサシンのクリードシャドウズ:シーシェルリドルソリューション
3週間前
By DDD
Windows11 KB5054979の新しいものと更新の問題を修正する方法
2週間前
By DDD
Will R.E.P.O.クロスプレイがありますか?
1 か月前
By 尊渡假赌尊渡假赌尊渡假赌
![]() ホットツール![]() メモ帳++7.3.1使いやすく無料のコードエディター ![]() SublimeText3 中国語版中国語版、とても使いやすい ![]() ゼンドスタジオ 13.0.1強力な PHP 統合開発環境 ![]() ドリームウィーバー CS6ビジュアル Web 開発ツール ![]() SublimeText3 Mac版神レベルのコード編集ソフト(SublimeText3) ![]() ホットトピック
Gmailメールのログイン入り口はどこですか?
![]() ![]()
CakePHP チュートリアル
![]() ![]()
Steamのアカウント名の形式は何ですか
![]() ![]()
NYTの接続はヒントと回答です
![]() ![]() ![]() PHP 配列を 2 次元から 1 次元配列に変換する方法: 1. ループ トラバーサルを使用して 2 次元配列を走査し、各要素を 1 次元配列に追加します; 2. 「array_merge」関数を使用して複数の要素をマージします配列を配列に. 二次元配列を「array_merge」関数にパラメータとして渡して一次元配列に変換; 3. 「array_reduce」関数を使用すると、配列内のすべての値を処理できますコールバック関数を介して、最終的に結果を返します。 ![]() PHP プログラミングにおける array_sum 関数は、配列内のすべての要素の合計を計算できる非常に実用的な関数です。ただし、2 次元配列内の要素の列の合計を計算する必要がある場合、問題が発生する可能性があります。この記事では、PHP の array_sum 関数を使用して、2 次元配列の列の要素の合計を計算する方法を紹介します。まず、2 次元配列の概念を理解する必要があります。 2 次元配列は、複数の配列を含む配列であり、テーブルとみなすことができます。各配列はテーブルを表します ![]() PHP で 2 次元配列を反転する方法: 1. PHP サンプル ファイルを作成する; 2. 2 次元配列を定義する; 3. 「array_reverse($a,true);」関数を使用して配列を反転する; 4. を使用する「print_r」で印刷します。 2次元配列を反転するだけです。 ![]() PHP プログラミングでは、指定された列の値を取得するなど、配列を操作する必要があることがよくあります。 PHP には、2 次元配列内の指定された列の値を迅速に取得するのに役立つ、非常に便利な関数 array_column が用意されています。この記事ではarray_column関数の使い方を紹介します。 array_column 関数の基本的な使用法: array_column(array$array,mixed$column_key[ ![]() PHP で 2 次元配列を 1 次元配列に変換する方法 PHP 開発では、2 次元配列を 1 次元配列に変換する必要があるシナリオによく遭遇します。この記事では、このタスクを簡単に完了するための一般的な方法をいくつか紹介します。方法 1: ループ トラバーサルを使用する 最も単純で直接的な方法は、ループを使用して 2 次元配列をトラバースし、各要素を新しい 1 次元配列に追加することです。このメソッドを使用したコード例を次に示します。 function flattenArray($array){$result ![]() PHP5.5関数の詳しい解説:array_column関数を使って2次元配列の特定の列を取り出す方法 PHP5.5版ではarray_column関数が導入され、指定した列を取り出すことができる非常に実用的な関数です。 2 次元配列からのデータの列。これは大量のデータを扱うときに便利で、必要なデータをすぐに取得できます。 array_column 関数の基本構文は次のとおりです。 arrayarray_column(array$ ![]() PHP には 2 次元配列があり、これは他の配列を要素として格納できる特別なタイプの配列です。2 次元配列の宣言とアクセスは非常に簡単です。「array」関数を使用すると、2 次元配列を作成できます。配列はその要素として実際のプログラミングに非常に役立ち、さまざまな複雑なデータ構造を処理するために使用できます。 ![]() 質問 ランタイム コンパイルを使用して 2 次元配列内のすべての要素の和と積を計算する C プログラムを作成してください。ソリューションのランタイムのコンパイルまたは初期化は、動的割り当てとも呼ばれます。実行時 (ランタイム) にメモリを割り当てることを動的メモリ割り当てと呼びます。関数 calloc() および malloc() は、動的メモリ割り当てをサポートします。関数 calloc() および malloc() は、動的メモリ割り当てをサポートします。 p>このプログラムでは、実行時に 2D 配列のすべての要素の合計とすべての要素の積を計算します。ロジックは、2D 配列内のすべての要素の合計を計算するために使用されます - printf("Sumarrayis:");for(i=0;i<2;i++){& ![]() |