作者JoeHorn (狮子男)
看板PHP
标题Re: [请益] 如何将表单中的阵列一次插入资料库?
时间Sun Jan 6 02:44:58 2008
※ 引述《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
1F:推 joaoko:谢谢狮子男大的指点,这正是我想要的写法 ^^ 01/07 02:30