本帖最后由 wulinag 于 2012-09-03 18:34:50 编辑

解决方案 »

  1.   

    <input type="text" name="postdb[sku_name][1_1]" value="" />
    <input type="text" name="postdb[sku_sku][1_1]" value="" />
    <input type="text" name="postdb[sku_price][1_1]" value="" />
    <input type="text" name="postdb[sku_shopid][1_1]" value="" />
    <input type="text" name="postdb[sku_storage][1_1]" value="" />********************(上面5个input 我做为一个表单描述,那么当再增加一个表单时如下)
    ****************
    <input type="text" name="postdb[sku_name][1_2]" value="" />
    <input type="text" name="postdb[sku_sku][1_2]" value="" />
    <input type="text" name="postdb[sku_price][1_2]" value="" />
    <input type="text" name="postdb[sku_shopid][1_2]" value="" />
    <input type="text" name="postdb[sku_storage][1_2]" value="" />***************也就是name值最后面 id序号变了,可能我还会增加多个或者说N个这样的表单, 也有可能是这样的如下********************<input type="text" name="postdb[sku_name][5_1]" value="" />
    <input type="text" name="postdb[sku_sku][5_1]" value="" />
    <input type="text" name="postdb[sku_price][5_1]" value="" />
    <input type="text" name="postdb[sku_shopid][5_1]" value="" />
    <input type="text" name="postdb[sku_storage][5_1]" value="" /><input type="text" name="postdb[sku_name][5_2]" value="" />
    <input type="text" name="postdb[sku_sku][5_2]" value="" />
    <input type="text" name="postdb[sku_price][5_2]" value="" />
    <input type="text" name="postdb[sku_shopid][5_2]" value="" />
    <input type="text" name="postdb[sku_storage][5_2]" value="" />
    ================ 我是想把这些前台表单提交过来的值,合并起来写入一个字段里面 ,写入的格式是这样的=================如果我对前台提交表单 对应的name值赋入这样的值 (目前我只是以一个为例:)postdb[sku_name][1_1]=黑色   postdb[sku_sku][1_1]=M    postdb[sku_price][1_1]=100    postdb[sku_shopid][1_1]=1000    postdb[sku_storage][1_1]=mj1 当提交后,怎么以  黑色/M/100/1000/mj1/@@@  这样的格式字入一个字段里?
    ******************* 如果是多个,或者是N个,(N个我就列不出来了,下面列三个样子)*************postdb[sku_name][1_1]=黑色   postdb[sku_sku][1_1]=M    postdb[sku_price][1_1]=100    postdb[sku_shopid][1_1]=1000    postdb[sku_storage][1_1]=mj1 postdb[sku_name][1_2]=黄色   postdb[sku_sku][1_2]=X    postdb[sku_price][1_2]=77     postdb[sku_shopid][1_2]=1000    postdb[sku_storage][1_2]=mj2postdb[sku_name][1_3]=绿色   postdb[sku_sku][1_3]=L    postdb[sku_price][1_3]=55     postdb[sku_shopid][1_3]=1000    postdb[sku_storage][1_3]=mj3 那么在写入数据库字段 shopinfo 时 shopinfo=“黑色/M/100/1000/mj1/@@@ 黄色/X/77/1000/mj2/@@@ 绿色/L/55/1000/mj3/@@@”
      

  2.   

    你还是给我们一个数组内容吧  数组导出字符串就行了.输出的时候还原成数组然后根据需求输出json
      

  3.   


    以上我是让他写入数据库,再还没写入数据库,我怎么导出来?  我是不知道怎么写入数据的字段中!
    ***************这个应该可以说是一个数据吧********************
    postdb[sku_name][1_1]=黑色 postdb[sku_sku][1_1]=M postdb[sku_price][1_1]=100 postdb[sku_shopid][1_1]=1000 postdb[sku_storage][1_1]=mj1  postdb[sku_name][1_2]=黄色 postdb[sku_sku][1_2]=X postdb[sku_price][1_2]=77 postdb[sku_shopid][1_2]=1000 postdb[sku_storage][1_2]=mj2postdb[sku_name][1_3]=绿色 postdb[sku_sku][1_3]=L postdb[sku_price][1_3]=55 postdb[sku_shopid][1_3]=1000 postdb[sku_storage][1_3]=mj3  那么在写入数据库字段 shopinfo 时  $shopinfo="postdb[sku_name][1_1]/postdb[sku_sku][1_1]/postdb[sku_price][1_1]/postdb[sku_shopid][1_1]/postdb[sku_storage][1_1]/@@@postdb[sku_name][1_2]=/postdb[sku_sku][1_2]/postdb[sku_price][1_2]/postdb[sku_shopid][1_2]/postdb[sku_storage][1_2]/@@@postdb[sku_name][1_3]/postdb[sku_sku][1_3]/postdb[sku_price][1_3]/postdb[sku_shopid][1_3]/postdb[sku_storage][1_3]/"以下应该就是数据内容了$shopinfo="黑色/M/100/1000/mj1/@@@ 黄色/X/77/1000/mj2/@@@ 绿色/L/55/1000/mj3/"
      

  4.   

    这种设计不合理  假设有100组表单,都写入一行一个字段中不太好吧. 写入多行会方便许多。如果硬要这么做的话,参考以下代码:foreach($_POST['postdb']['sku_name'] as $k=>$v){
             $arr[]=$v.'/'.$_POST['postdb']['sku_sku'][$k].'/'.$_POST['postdb']['sku_price'][$k].'/'.$_POST['postdb']['sku_shopid'][$k].'/'.$_POST['postdb']['sku_storage'][$k].'/';
    }
    $shopinfo= join('@@@ ',$arr).'@@@ ';
    ...................入库操作.....读出来这么写:
    $shopinfo="黑色/M/100/1000/mj1/@@@ 黄色/X/77/1000/mj2/@@@ 绿色/L/55/1000/mj3/";
    $arr=preg_split('/@@@ /',$shopinfo,-1,PREG_SPLIT_NO_EMPTY);
    foreach($arr as $v){
             $ar[]=explode('/',rtrim($v,'/'));
    }
    print_r($ar);
      

  5.   

    谢谢大师,你回答的就是我想要的结果,但还想改进一下,不知道能否实现!这个是用你的方法很成功的写入数据也是我的要求:军绿色/70A/11/12/13/@@@ 军绿色/75A/21/22/23/@@@ 军绿色/80A/31/32/33/@@@ 浅绿色/70A/41/42/43/@@@ 浅绿色/75A/51/52/53/@@@ 浅绿色/80A/61/62/6/@@@ 
    我在参考这样的数据据我想再改进一下,能否合成这样呢:(就是把名字相同的做为一个)军绿色@@@/70A/11/12/13/@@@/75A/21/22/23/@@@/80A/31/32/33/###浅绿色@@@/70A/41/42/43/@@@/75A/51/52/53/@@@/80A/61/62/6/如果是这样,那么我再读取出来,拆分又应该怎么做
      

  6.   

    存取:
    foreach($_POST['postdb']['sku_name'] as $k=>$v){
             
             $arr[$v][]='/'.$_POST['postdb']['sku_sku'][$k].'/'.$_POST['postdb']['sku_price'][$k].'/'.$_POST['postdb']['sku_shopid'][$k].'/'.$_POST['postdb']['sku_storage'][$k].'/';
    }foreach($arr as $k=>$v){
          $t[]=$k.'@@@'.implode('@@@',$v);
    }
    echo join('###',$t); 读取:
    $s='黑色@@@/M/100/1000/mj1/@@@/G/45/1000/mj3/###黄色@@@/x/77/1000/mj2/';
    foreach(explode('###',$s) as $v){
           $arr=explode('@@@',$v);
       $ar[array_shift($arr)]=$arr; 
    }
    print_r($ar);