搜尋

首頁  >  問答  >  主體

請教高手,一個tp5多條件篩選 路由問題

一個多條件篩選問題類型:type,參數分別是1,2,3等地區:city,參數分別是12,22,44,44等價格:cate,參數分別是1,2,3,4等現在的URL位址是:http://localhost/school/type/1/city/12/cate/1/請問:如何把這個URL位址縮減成這樣:http://localhost/school/1-12- 1/,也就是把type,city,cate這樣的參數名稱隱藏。這個問題可能會衍生下面2個問題:1.如果使用者輸入的URL是:http://localhost/school/1-1,因為參數傳的都是ID ,也就是參數順序打亂了,如何確保結果正常。 2.如果使用者輸入的URL是:http://localhost/school/1,也就是沒有選其他的參數,如何確保結果正常。非常感謝

小理飞刀小理飞刀1744 天前1250

全部回覆(11)我來回復

  • 至尊宝

    至尊宝2020-05-08 15:10:41

    可選參不應該用POST方式嗎?

    #

    回覆
    0
  • 唯you爱

    唯you爱2020-05-05 00:40:21

    首先這兩個問題基本上不算問題了,url路由控制可以解決,所以不會亂,為空null的參數程式碼裡實作預設值就好了。 qq895163012

    回覆
    0
  • Guanhui

    Guanhui2020-05-04 10:06:35

    可以使用TP5中的路由

    /school/:type-:city-:cate

    /school/:id

    然後在控制器中用explode()分隔id

    回覆
    0
  • 小理飞刀

    1.如果使用者輸入的URL是:http://localhost/school/1-1,因為參數傳的都是ID ,也就是參數順序打亂了,如何確保結果正常。 2.如果使用者輸入的URL是:http://localhost/school/1,也就是沒有選其他的參數,如何確保結果正常。非常感謝

    小理飞刀 · 2020-05-04 10:09:21
    Guanhui

    那正常結果是什麼

    Guanhui · 2020-05-04 13:11:30
    Guanhui

    如果http://localhost/school/1-1的話第一個是type參數第二個是city參數,cate參數給個預設不就行了

    Guanhui · 2020-05-04 13:14:39
    小理飞刀

    http://localhost/school/1-1-0這種樣式的是實現了,我想做成參數是可選的,只選type的話,是這種http://localhost/school/1 只選city的話http://localhost/school/23,如果type和city的話http://localhost/school/1-23, 如果3個都選的話,是這樣的http://localhost/school/1-23 -1

    小理飞刀 · 2020-05-04 13:43:00
    小理飞刀

    非常感謝您回答!

    小理飞刀 · 2020-05-04 13:47:23
    Guanhui

    你說的這種方式是行不通的

    Guanhui · 2020-05-04 15:56:02
    小理飞刀

    明白 感謝

    小理飞刀 · 2020-05-04 18:46:29
  • 小理飞刀

    小理飞刀2020-05-03 20:12:52

    頂起來

    回覆
    0
  • 取消回覆