[請益] 請教foreach進階用法~~

看板PHP作者 (順)時間17年前 (2009/02/02 14:58), 編輯推噓0(0021)
留言21則, 3人參與, 最新討論串1/2 (看更多)
若想一次刪除多筆資料 可以在該資料前加個核取方塊 <input type="checkbox" name="c[]" value="<?php echo $row['id']; ?>"> 在送出資料後 $sql = "Delete from table where id in (".implode(',',$_POST['c']).")"; 就可以做到 但想請問 若想透過多個核取方塊的方式一次新增多筆不同的資料 <input name="x[]" type="hidden" id="x[]" value="<?php echo $x;?>"> <input name="y[]" type="hidden" id="y[]" value="<?php echo $y;?>"> <input name="z[]" type="hidden" id="z[]" value="<?php echo $z;?>"> 抱歉應該是只有前方有核取方塊 而後面該CHECKBOX對應的三個值要新增至資料表中~~ 該怎麼利用foreach來做呢 foreach( $陣列變數 as $暫存值 ) {  相關程式.... ; } ************************失敗分隔線************************************ 試過了不能一次三個通通存進去 foreach ($_POST['x'] as $d1 && $_POST['y'] as $d2 && $_POST['z'] as $d3) ↑失敗ORZ foreach ($_POST['x'] as $d1) { foreach ($_POST['y'] as $d2) { foreach ($_POST['z'] as $d3) { } } } ↑也失敗ORZ ********************************************************************** *******一個陣列的狀況**************** foreach($_POST['c'] as $d1) { $sql[] = "('a','b','c','$d1') } $insert = insert into table (a,b,c,x) values".implode(",",$sql); ↑上次 KC73 熱心幫忙,但因小弟領悟力有限, 一個陣列還OK(如上),三個陣列就當機了ORZ 想請問有沒有對foreach這函數熟悉的朋友們願意分享一下 小弟感激不盡阿~~~ -------------------補充---------------- 基本資料 學號:a 姓名:b 電話:c ------------------ | | x | y | z | ------------------ | |x1 |y1 |z1 | ------------------ | |x2 |y2 |z2 | ------------------ | |x3 |y3 |z3 | ------------------ | ○ |x4 |y4 |z4 | ------------------ | ○ |x5 |y5 |z5 | ------------------ | ○ |x6 |y6 |z6 | |----------------- 假設勾選了 上面的三個CHECKBOX x[] => x1,x2,x3 y[] => y1,y2,y3 z[] => z1,z2,z3 insert into table (a,b,c,x,y,z) values (a,b,c,x[],y[],z[]) 紅色的部分不知道怎麼利用foreach抓取到 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.221.166.118 ※ 編輯: idcomputer 來自: 61.221.166.118 (02/02 14:59)

02/02 15:15, , 1F
你x y z各有n筆嗎?
02/02 15:15, 1F

02/02 15:18, , 2F
比如說x-上課日期 y-上課地點 z-上課小時
02/02 15:18, 2F

02/02 15:18, , 3F
a-學號 b-姓名 c-電話~~abc基本上不會改變
02/02 15:18, 3F

02/02 15:19, , 4F
而xyz會隨著日期課程時間不一樣而有所差別
02/02 15:19, 4F

02/02 15:19, , 5F
所以應該是指可以新增n筆..每一筆有3欄位的意思?
02/02 15:19, 5F

02/02 15:20, , 6F
如果某某某想一次 紀錄 三堂課的時間~~
02/02 15:20, 6F

02/02 15:20, , 7F
就勾選核取方塊後將
02/02 15:20, 7F

02/02 15:21, , 8F
(a,b,c,x1,y1,z1),(a,b,c,x2,y2,z2),
02/02 15:21, 8F

02/02 15:21, , 9F
(a,b,c,x3,y3,z3)三筆資料新增到資料表中~~
02/02 15:21, 9F

02/02 15:22, , 10F
不過不知道該怎麼好好的利用foreach這個函數去處理
02/02 15:22, 10F
※ 編輯: idcomputer 來自: 61.221.166.118 (02/02 15:23)

02/02 15:23, , 11F
我覺得你第一個例子和第二個是不一樣的意思
02/02 15:23, 11F

02/02 15:24, , 12F
第一個每一筆資料只有一個checkbox..可是第二個例子
02/02 15:24, 12F

02/02 15:25, , 13F
你每一筆資料有三個checkbox..代表user可以選擇
02/02 15:25, 13F

02/02 15:25, , 14F
第一次要存x..第二次要存x y ?
02/02 15:25, 14F

02/02 15:40, , 15F
阿我問題有點描述錯誤了不好意思~
02/02 15:40, 15F

02/02 15:41, , 16F
應該是說三個欄位是固定不可修改的
02/02 15:41, 16F

02/02 15:41, , 17F
只有欄位前面有個CHECKBOX,如果勾選的話代表
02/02 15:41, 17F

02/02 15:41, , 18F
這筆資料將新增至資料表~~~感謝您的提醒~~
02/02 15:41, 18F

02/02 15:42, , 19F
不好意思我描述錯誤了,我修改一下內容好了~~
02/02 15:42, 19F
※ 編輯: idcomputer 來自: 61.221.166.118 (02/02 15:44)

02/02 15:45, , 20F
就在 foreach 裡面 insert 三次.
02/02 15:45, 20F

02/02 15:46, , 21F
一個 checkbox 被 check 就 insert 一次, 兩個兩次..
02/02 15:46, 21F
※ 編輯: idcomputer 來自: 61.221.166.118 (02/02 15:53)
文章代碼(AID): #19Xfcj6Q (PHP)
文章代碼(AID): #19Xfcj6Q (PHP)