PHP后台传值
前台数据往后台传值,往往是新手最头痛的,最近在学习thinkPHP的时候,也遇到了这种问题,总结一下,往不足之处请大家指教。
一、前台界面代码,往后台传值有两种方式,一种是get,另一种是post,新手入门,不管什么方式吧,往后台传值成功就可以了。
首先,写一个from表单,
<form action="{:U(Recom/goodsprice)}" method="post">
<a href="{:U('Recom/goodsprice',array('price'=>'700'))}">价格大于700</a>//在本案例中就已超链接的方式传值做介绍吧
</form>
这个价格就往后台传过去了,传过去后,也要接受要传的值,看步骤二,
二、后台的控制层的代码如下:
       public function goodsprice(){
           $price = I('price');//这就可以获取前台传的price这个值了
		    print_r("price:  ".$price."     ");//检验一下传值是否成功,需要运行后开前台的源代码是否有这个值
		    $model = D('Goods');//选择数据库中的表了,打个比方吧,就叫goods表吧
		    $res = $model->selectPrice($price);//关键时刻来了,调用model层的selectPrice函数,顺道把$price这个参数带过去
		
		    $this->assign('res',$res["date"]);//获取数据,命名为res
		    $this->assign('page',$res["page"]);//thinkPHP中自带的一种分页方式,很简单,但是需要在model层中进行配置,讲解在下面。
		
		    $this->display();//这个是显示界面的
	    }
三、model层的代码如下:
  public function selectPrice($price){
		    $this->db(1,"DB_CONFIG1")->db(1);//选择数据库
		
		    $map ['price'] = array('gt',$price); //定义查询条件
		
		    $count = $this->db(1,"DB_CONFIG1")->where($map)->count();//统计条数
		    $page = new \Think\Page($count,10);//分页处理
		    $show = $page->show();
		    $limit = $page->show();
		    $limit = $page->firstRow.",".$page->listRows;
		
		    $goodsprice = $this->db(1,"DB_CONFIG1")->limit($limit)->where($map)->select();//sql语句
		    print_r($this->getLastSql());//调试专用,输出最后一条sql语句
		    $res["date"] = $goodsprice;
		    $res["page"] = $show;
		
		    return $res;		
	  }
具体的代码和步骤就是这么简单,对你有没有帮助啊?
 
                    
                
 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号