PHP後臺傳值

木子小僧發表於2015-05-21

前臺資料往後臺傳值,往往是新手最頭痛的,最近在學習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;
  }

具體的程式碼和步驟就是這麼簡單,對你有沒有幫助啊?

相關文章