http://www.youarebug.com/forum.php?mod=viewthread&tid=105&page=1&extra=#pid142
本帖
CodeIgniterMVCMVC
CodeIgniterCI_02WelcomeindexCIMVCCIconfigroutes.php
<span $route</span>['default_controller'] = "welcome";
<span $route</span>['default_controller'] = "calculate";
<?php <span if</span> ( ! <span defined</span>('BASEPATH')) <span exit</span>('No direct script access allowed'<span ); </span><span /*</span><span * 计算控制器,类名首字母必须大写,所有的控制器必须继承自CI_Controller类 </span><span */</span> <span class</span> Calculate <span extends</span><span CI_Controller { </span><span //</span><span 构造方法</span> <span function</span><span __construct() { parent</span>::<span __construct(); } </span><span //</span><span 默认方法</span> <span function</span><span index() { </span><span //</span><span 加载calculate_view视图</span> <span $this</span>->load->view('calculate_view'<span ); } } </span><span /*</span><span End of file calculate.php </span><span */</span> <span /*</span><span Location: ./application/controllers/calculate.php </span><span */</span>
CICI_ControllerPHP?>CI
viewsphpcalculate_view.php
<span <!</span><span DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</span><span ></span> <span <</span><span html </span><span xmlns</span><span ="http://www.w3.org/1999/xhtml"</span><span ></span> <span <</span><span head</span><span ></span> <span <</span><span meta </span><span http-equiv</span><span ="Content-Type"</span><span content</span><span ="text/html; charset=utf-8"</span> <span /></span> <span <</span><span title</span><span ></span>网页计算器<span </</span><span title</span><span ></span> <span <</span><span style </span><span type</span><span ="text/css"</span><span ></span><span #calculators </span><span {</span><span margin</span><span :</span><span 10% auto</span><span ;</span><span width</span><span :</span><span 430px</span><span ;</span><span border</span><span :</span><span 1px solid #000</span><span ;</span> <span }</span> <span </</span><span style</span><span ></span> <span </</span><span head</span><span ></span> <span <</span><span body</span><span ></span> <span <</span><span div </span><span id</span><span ="calculators"</span><span ></span> <span <</span><span form </span><span action</span><span ="index.php/calculate/count"</span><span method</span><span ="post"</span><span ></span> <span <</span><span input </span><span type</span><span ="text"</span><span name</span><span ="num1"</span><span id</span><span ="num1"</span> <span /></span> <span <</span><span select </span><span name</span><span ="operate"</span><span id</span><span ="operate"</span><span ></span> <span <</span><span option </span><span value</span><span ="+"</span><span ></span>+<span </</span><span option</span><span ></span> <span <</span><span option </span><span value</span><span ="-"</span><span ></span>-<span </</span><span option</span><span ></span> <span <</span><span option </span><span value</span><span ="x"</span><span ></span>x<span </</span><span option</span><span ></span> <span <</span><span option </span><span value</span><span ="÷"</span><span ></span>÷<span </</span><span option</span><span ></span> <span </</span><span select</span><span ></span> <span <</span><span input </span><span type</span><span ="text"</span><span name</span><span ="num2"</span><span id</span><span ="num2"</span> <span /></span> <span <</span><span input </span><span type</span><span ="submit"</span><span value</span><span ="计算"</span> <span /></span> <span </</span><span form</span><span ></span> <span </</span><span div</span><span ></span> <span </</span><span body</span><span ></span> <span </</span><span html</span><span ></span>
<span function</span> <span count</span><span () { </span><span //</span><span 使用输入类接收参数</span> <span $num1</span> = <span $this</span>->input->post('num1'<span ); </span><span $op</span> = <span $this</span>->input->post('operate'<span ); </span><span $num2</span> = <span $this</span>->input->post('num2'<span ); </span><span if</span> (<span is_numeric</span>(<span $num1</span>) && <span is_numeric</span>(<span $num2</span><span )) { </span><span //</span><span 如果两个数输入均为数字,则调用calculate_model模型下的count方法</span> <span $result</span> = <span $this</span>->calculate_model-><span count</span>(<span $num1</span>, <span $num2</span>, <span $op</span><span ); } }</span>
<span //</span><span 加载计算模型</span> <span $this</span>->load->model('calculate_model');
<?<span php </span><span /*</span><span * * 计算模型,类名首字母必须大写,所有的模型必须继承自CI_Model类 </span><span */</span> <span class</span> Calculate_model <span extends</span><span CI_Model { </span><span function</span><span __construct() { parent</span>::<span __construct(); } </span><span /*</span><span * 计算函数 </span><span */</span> <span function</span> <span count</span>(<span $num1</span>, <span $num2</span>, <span $op</span><span ) { </span><span if</span> (<span $op</span> == "+"<span ) { </span><span return</span> <span $num1</span> + <span $num2</span><span ; }</span><span else</span> <span if</span> (<span $op</span> == "-"<span ) { </span><span return</span> <span $num1</span> - <span $num2</span><span ; }</span><span else</span> <span if</span> (<span $op</span> == "x"<span ) { </span><span return</span> <span $num1</span> * <span $num2</span><span ; }</span><span else</span> <span if</span> (<span $op</span> == "÷" && <span $num2</span> != 0<span ) { </span><span return</span> <span $num1</span> / 1.0 / <span $num2</span><span ; }</span><span else</span><span { </span><span return</span> <span FALSE</span><span ; } } } </span><span /*</span><span End of file calculate_model.php </span><span */</span> <span /*</span><span Location: ./application/models/calculate_model.php </span><span */</span>
<span <!</span><span DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</span><span ></span> <span <</span><span html </span><span xmlns</span><span ="http://www.w3.org/1999/xhtml"</span><span ></span> <span <</span><span head</span><span ></span> <span <</span><span meta </span><span http-equiv</span><span ="Content-Type"</span><span content</span><span ="text/html; charset=utf-8"</span> <span /></span> <span <</span><span title</span><span ></span>网页计算器<span </</span><span title</span><span ></span> <span <</span><span style </span><span type</span><span ="text/css"</span><span ></span><span #calculators </span><span {</span><span margin</span><span :</span><span 10% auto</span><span ;</span><span width</span><span :</span><span 430px</span><span ;</span><span border</span><span :</span><span 1px solid #000</span><span ;</span> <span }</span> <span </</span><span style</span><span ></span> <span </</span><span head</span><span ></span> <span <</span><span body</span><span ></span> <span <</span><span div </span><span id</span><span ="calculators"</span><span ></span> <span <?</span><span php // 从控制器接收数据并对数据进行操作 if (is_numeric($num1) && is_numeric($num2) && $op && $result && $result != FALSE) { echo $num1." ".$op." ".$num2." = ".$result."<br />"; }else { echo "计算错误<br />"; } </span><span ?></span> <span <</span><span a </span><span href</span><span ="/CI_02"</span><span ></span>返回首页<span </</span><span a</span><span ></span> <span </</span><span div</span><span ></span> <span </</span><span body</span><span ></span> <span </</span><span html</span><span ></span>
<span $data</span> = <span array</span>('num1' => 1, 'num2' => 2, 'op' => +, 'result' => 3);
<span echo</span> <span $num1</span>." ".<span $op</span>." ".<span $num2</span>." = ".<span $result</span>."<br />";
<span function</span> <span count</span><span () { </span><span //</span><span 使用输入类接收参数</span> <span $num1</span> = <span $this</span>->input->post('num1'<span ); </span><span $op</span> = <span $this</span>->input->post('operate'<span ); </span><span $num2</span> = <span $this</span>->input->post('num2'<span ); </span><span if</span> (<span is_numeric</span>(<span $num1</span>) && <span is_numeric</span>(<span $num2</span><span )) { </span><span //</span><span 如果两个数输入均为数字,则调用calculate_model模型下的count方法</span> <span $result</span> = <span $this</span>->calculate_model-><span count</span>(<span $num1</span>, <span $num2</span>, <span $op</span><span ); </span><span //</span><span 生成要传给视图的数据</span> <span $data</span> = <span array</span>('num1' => <span $num1</span>, 'num2' => <span $num2</span>, 'op' => <span $op</span>, 'result' => <span $result</span><span ); </span><span //</span><span 加载视图</span> <span $this</span>->load->view('result_view', <span $data</span><span ); } }</span>
data MVCCI
CIMVCMVCURIajax http://www.youarebug.com/forum.php?mod=viewthread&tid=105&page=1&extra=#pid142