php如何根据格式写入数据库并读出来??? 本帖最后由 wulinag 于 2012-09-03 18:34:50 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <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/@@@” 你还是给我们一个数组内容吧 数组导出字符串就行了.输出的时候还原成数组然后根据需求输出json 以上我是让他写入数据库,再还没写入数据库,我怎么导出来? 我是不知道怎么写入数据的字段中!***************这个应该可以说是一个数据吧********************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/" 这种设计不合理 假设有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); 谢谢大师,你回答的就是我想要的结果,但还想改进一下,不知道能否实现!这个是用你的方法很成功的写入数据也是我的要求:军绿色/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/如果是这样,那么我再读取出来,拆分又应该怎么做 存取: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); 请教各位入门PHP需要学哪些知识点? lamp实例,照着例子写的,出了问题 采集字段规划问题 急求一sql php应该怎么处理用户提交的数据? 不太熟悉PHP编程,为什么总报缺少‘)’错误? php与asp有什么不同 请教:实现SqlServer的分页功能,不知道使用什么方式好? 新人遇到了学php以来第一个难题,传值丢失 php没什么意思 smarty 问题咨询 php 管理员日志功能怎么写?
<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/@@@”
以上我是让他写入数据库,再还没写入数据库,我怎么导出来? 我是不知道怎么写入数据的字段中!
***************这个应该可以说是一个数据吧********************
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/"
$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);
我在参考这样的数据据我想再改进一下,能否合成这样呢:(就是把名字相同的做为一个)军绿色@@@/70A/11/12/13/@@@/75A/21/22/23/@@@/80A/31/32/33/###浅绿色@@@/70A/41/42/43/@@@/75A/51/52/53/@@@/80A/61/62/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);