一个小问题
php吧
全部回复
仅看楼主
level 8
化灵 楼主
现在我有一组数据要插入数据库,得一条条的插,所以我用了for循环,但是插入前我要检查一下数据的格式是否符合要求,所以又得一条条检查,你们说,我是用两条for语句好呢还是用一条,边检验边插入,第一种我觉得好啰嗦,第二种我觉得这样操作数据库太过频繁……还是有其他好点的办法呢?
2012年09月14日 06点09分 1
level 13
其实,我想知道,你是什么项目? 能用到每次N多数据的插入?
2012年09月14日 07点09分 2
就是一整页的单啊,每行是一条数据,要一次性执行全部的修改和保存!你可以理解成淘宝结账时候的一次性全部结账那种
2012年09月14日 07点09分
回复 化灵 :传过来的时候,用json,然后到php这边形成个数组,用foreach,楼下↓↓
2012年09月14日 08点09分
level 13
一般做法都是for一次 检查完就插入
2012年09月14日 07点09分 3
我也想这么干,但是如果中间的数据有问题,就得重头来,之前的数据又得插多一次
2012年09月14日 07点09分
level 13
哦 那把这种检测放在前端好了 用js批量检测
2012年09月14日 07点09分 4
[泪]我也想啊,但是公司自己写的框架不让……
2012年09月14日 08点09分
...检测数据是否安全,怎么能放在前端呢? 前端的检测只是给用户一个体验...当用户输入的内容不符合规定的时候,及时提醒用户更改,我一般前端不过滤的很详细, 重要的过滤还是放在php这边
2012年09月14日 08点09分
回复 メ绝対嗳上伱 :公司的的框架就是通过ajax传到服务器检查的……
2012年09月14日 09点09分
level 13
在前台把所有的数据二维json化,到php这边形成二维数组,然后用foreach循环
public function insert($arr){
//这里可以做一个数组,把哪条的数据有问题放到里面
$err=array();
//$con是一个数组,代表一条信息组
foreach($arr as $con){
$i=true;
if(..){
//展开判断,数据是否安全,如果不安全$i=false;
}
//当数据安全,则$i依然为true,则进行插入数据库
if($i){
...插入数据库,如果这里插入失败,也可以把错误信息写进$err中
}else{
$err[]=$con;
}
}
return $err;
}
$result=$this->insert($arr);
if(!count($result)){
...没有错误,插入成功
}else{
//打印错误的数据(或者是插入失败的信息)
print_r($result);
}
你试试吧,这样应该可以
2012年09月14日 08点09分 5
这个思路不错~~~谢啦!
2012年09月14日 09点09分
1