台灣最大程式設計社群網站
線上人數
1503
 
會員總數:245973
討論主題:189551
歡迎您免費加入會員
討論區列表 >> PHP >> 連動下拉式清單與php結合
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
連動下拉式清單與php結合
價值 : 50 QP  點閱數:653 回應數:4
樓主

alys
門外漢
0 3
51 5
發送站內信




大家好:
請問一下 我要做一個連動下拉式清單與php結合,我依照下方網址的範例
去更改,但是他是寫在一個同一個資料表中,而我的不是在同一個資料表中,要怎麼修改才可以把第4項的資料顯示出來???

下方是我改出來的程式
https://gist.github.com/anonymous/8ad68a174cfe85d19181
範例網址:
http://www.tshopping.com.tw/thread-155300-1-1.html

搜尋相關Tags的文章: [ 連動下拉式清單與php結合 ] ,
本篇文章發表於2016-03-18 17:17
1樓
最有價值解答

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
我想~~~這個問題其實還是得要問你自已。

原則上,這是一種運用ajax的模式。
然後再去取資料對應回來。

也就是說。同理而言。就算你的表在不同一張表也是可以取得。
理由也得簡單。即然了解它是取資料用的php。
那就針對該php來去下達取資料的sql碼就行了。

由於你並沒提供你所謂的另一張表資料。所以我也不知道該如何給你答案。

但大致上你要了解以下的東西是在做什麼的。
你會問這個問題,也就是代表了你對他的運行原理不了解。才會有此一問。

講白一點,不就改一下sql命令來取資料回來不就行了嗎??

大致上你先思考我以下的問題
1.你知道他的選項值的動作在哪嗎??提示:ajaxAddOption
2.那你知道ajax的運做原理?傳送的參數為何嗎?
3.你知道它輸出傳回的資料格式是什麼?為何會這樣輸出呢?回傳的值,一定得要搭配其option的value跟text內容。
4.你知道選項清除重建的來源是怎麼處理?在哪邊的程式嗎?

以上~~~4點只要你能了解。自然你就會明白怎麼改了。

本篇文章回覆於2016-03-18 18:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
不錯的參考

彩虹
檢舉此回應
剛剛看了一下的程式碼
有很多地方需要修正

不過我比較好奇的是,你完成了第1個<select>觸發將資料顯示在第2個<select>
照理說你應該會知道如何「如法炮製」套用到第3個<select>觸發,顯示在第4個<select>

比較好理解的方法

Step 1.
將下面 id="fullIdPath" 改成 id="fullIdPath2"

Step 2.
就是將你的test_action.php複製一個新的出來
命名例如:test_kindmenu_action.php,然後將SQL指令改一改

Setp 3.
Jquery稍微改一下

以上我沒有實際去操作,不過應該是可行的
(但基本上我不會這樣做><)



另外提醒你的<select>的名稱,妳有三個name都是打「city」,我相信之後送出表單要進行更新時,會出現問題
因為$_POST,接收的是name名稱,如$_POST["city"]

本篇文章回覆於2016-03-18 18:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
不錯的參考

皮皮快跑
檢舉此回應
有好幾個地方要注意:
1.php tag請使用標準的<?php,不要再使用<script language="php">
2.session_start()前面不應該有任何的html輸出(和header()一樣),在你的伺服器或測試環境跑沒問題,在別的伺服器可能就會變成錯誤。
3.通常建議預處理資料的東西最好在進入html就先全部跑完,進入html就只做單純的資料展示了。
(亦即跑資料庫處理的東西不應該在進入html後還在處理。)
4.html原則上不要使用echo,而把html就視為純html,如果遇到條件、迴圈等等,應該使用具備宣告語句結尾的做法
例如:

其他像是for、while、foreach請自行查詢用法。
其他還有什麼我想到再補充。
本篇文章回覆於2016-03-18 18:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

alys
檢舉此回應
謝謝你們!!!
我知道要怎麼改了~~
我不太了解ajax所以我就用範例去改!!
現在知道要怎麼改了
本篇文章回覆於2016-03-22 10:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.