Re: [請益] 如何將表單中的陣列一次插入資料庫?
※ 引述《joaoko (joaoko)》之銘言:
: 想了好久終於想出一個堪用的方法:
: 我把10個欄位的名稱分別設定如下:
: 尺寸 庫存
: ss1[size] ss1[stock]
: ss2[size] ss2[stock]
: ss3[size] ss3[stock]
: ss4[size] ss4[stock]
: ss5[size] ss5[stock]
如果是表單的話,那就更好處理了。
尺寸 庫存
ss[0][size] ss[0][stock]
ss[1][size] ss[1][stock]
ss[2][size] ss[2][stock]
ss[3][size] ss[3][stock]
ss[4][size] ss[4][stock]
這樣作會更漂亮,而且更具彈性。
表單中可以不只有 5 組資料,
也可以讓使用者用「增加」、「刪除」的功能來調整數量。
: 然後用廻圈讀出表單的資料再寫入資料庫:
: for($i=1; $i<6; $i++){
: if(is_array($_POST["ss$i"])){
: $size = $_POST["ss$i"][size];
: $stock = $_POST["ss$i"][stock];
: if(!empty($size) and !empty($stock)){ //空白的欄位將不會寫入任何資料
: $link->query("INSERT INTO table2 (size, stock) VALUES ('$size',
: '$stock')");
: }
: }
: }
如果用上面那種二階陣列的作法的話,就得改成這樣:
if( is_array($_POST['ss']) ) {
foreach ( $_POST['ss'] as $key => $array ) {
if ( is_array($array) &&
!empty($array['size']) && !empty($array['stock']) ) {
$size = addslashes($array['size']);
$stock = addslashes($array['stock']);
$link->query("INSERT INTO `table2` (`size`, `stock`)
VALUES ('$size', '$stock')");
}
}
}
--
Leo [joehorn]:~> make one lover for me
make: don't know how to make one. Stop
Leo [joehorn]:~> why?
why?: No match.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.113.185.108
推
01/07 02:30, , 1F
01/07 02:30, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章