iT邦幫忙

0

html php 如何自動傳值

大家好:
想請教大家一個問題

因為東西很多,每次找東西都很困難
所以我想做分類,讓人可以快速找到

我想分成3類:文具,食品,電器(check box)

底下的商品是下拉式選單

我希望我按checkbox 食品時,底下的下拉式選單就會自動出現食品
(因為我發現我都還要按確定選單才會改變,但我希望按checkbox就=確定)

以下是我的圖示

https://ithelp.ithome.com.tw/upload/images/20181116/201029832VTIrvilus.png

以下是我的程式碼(還在修改中.....)

<?php

require_once("db.php");

	$choose = $_POST ['choose'];
	$pro_id = $_POST['pro1'];
?>

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
   </head>
    <body>
        
    <div class="container">
	<input type="checkbox" name="choose[]" value="文具"><label>文具</label>
     <input type="checkbox" name="choose[]" value="電器"><label>電器</label>
    <input type="checkbox" name="choose[]" value="食品"><label>食品</label>
	<form id="form1" name="form1" method="post" action="chein.php" >
    <select name="pro1"> 
	  <? $sql = mysqli_query($db, "SELECT * FROM pro where pro='$choose'");
	if (mysqli_num_rows($sql) > 0 ) {
		while($row=mysqli_fetch_array($sql)){
			?>
		 <option value="<?= $row['pro_id']?>"><?=$row['name']?></option>
		   
			<?	
			}	
	}
	  ?>
	    </select>
	  <input type = "submit" name = "login" value = "新增" >
	        </form>  
			
         </div>
    </body>
</html>

謝謝大家

看更多先前的討論...收起先前的討論...
神威 iT邦研究生 4 級 ‧ 2018-11-16 10:07:30 檢舉
Samと可樂快跑
能指點一下該如何做嗎?ajax我不太懂....
RenZhou iT邦新手 4 級 ‧ 2018-11-16 10:20:11 檢舉
遇到這個問題 就該學SPA了...
淺水員 iT邦大師 6 級 ‧ 2018-11-16 11:06:39 檢舉
ajax 利用 javascript 直接傳送資料給伺服器並接收回傳的資料
然後依據回傳的資料,再去變更網頁元素
w3c網站有教學:https://www.w3schools.com/js/js_ajax_intro.asp
另外有用 jQuery 的話,他有包裝好的函式 $.ajax()
--------------
如果不使用 ajax 的話
因為你的項目看起來數量不大
所以也可以一開始就把資料全部丟給出來
(存在javascript的變數中)
用 javascript 控制當使用者勾選
選單應該如何變化
神威 iT邦研究生 4 級 ‧ 2018-11-16 11:19:29 檢舉
淺水員
但是我的資料持續增加中.......
ajax 很簡單的道理~
網頁不換頁變動~就可立即有資料變化~(其實就是模擬單機運作)
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
Homura
iT邦高手 1 級 ‧ 2018-11-16 11:09:17

先說一下你的checkbox為什麼在form外面
這樣傳不回去

如果你想checkbox一改變就回傳
你要拆成2步
第一步是把你的check加入監聽,這樣你checkbox一有變化就會觸發event
參考這篇
https://stackoverflow.com/questions/14544104/checkbox-check-event-listener

第二步就是checkbox改變觸發後你要把你的form自動回傳

document.getElementById('form1').submit()

補充一下如果你想作成不需要整個頁面刷新
要把第2步改成ajax的方式,然後得到資料填回你的select元素裡

神威 iT邦研究生 4 級 ‧ 2018-11-16 13:29:18 檢舉

謝謝,我再研究看看

0
海綿寶寶
iT邦大神 1 級 ‧ 2018-11-16 11:54:30

請直接告訴我現在幾點,不用教我怎麼製作時鐘

答案在此

選我正解

神威 iT邦研究生 4 級 ‧ 2018-11-16 13:29:09 檢舉

謝謝,我再研究看看

0
小魚
iT邦大師 1 級 ‧ 2018-11-16 12:02:05

看你要怎麽做,
我現在新開發的網站,
整個網站連一個form都沒有,
基本上就是有點前後端分離的概念,
要資料的時候全部都是Ajax, Fetch ... ...
然後你就會問,
Ajax是什麼,
我跟你說,
我不懂也都是去找谷先生問的,
你去問他吧...

看更多先前的回應...收起先前的回應...
Homura iT邦高手 1 級 ‧ 2018-11-16 14:06:59 檢舉

是G先生才對/images/emoticon/emoticon39.gif

什麼G?明明就只是一隻狗!會咕咕叫的狗(這啥?)

Homura iT邦高手 1 級 ‧ 2018-11-16 16:25:30 檢舉

Homura
就是一隻神狗!

小魚 iT邦大師 1 級 ‧ 2018-11-16 19:52:15 檢舉

Homura
是谷先生啊,
人家不是都叫他 谷 嗎?

我要發表回答

立即登入回答