保存一堆文件,路径入数据库,以页码123456...数字命名,现在想在其中插入一个文件,算法应该怎么写?
我的思路是,从数据里调出路径,将大于需要插入的页数的文件名加一,然后再批量更新数据库文件名。可是现在运行后数据库没有反应,请问我这个思路对吗??
源码如下
$newpage//新页码
$res = mysql_query("select id,page from table by page asc");while($arr=mysql_fetch_row($res)){
$arr2[$arr[0]]=$arr[1];
} $count=count($arr2)+1;
for($i=$newpage;$i<$count-$newpage;$i++){
$arr3[$i]=$arr2[$i]+1;
}foreach($arr3 as $k=>$v){
$q= mysql_query("update table set page = case id
when $k then $v ");
}
我的思路是,从数据里调出路径,将大于需要插入的页数的文件名加一,然后再批量更新数据库文件名。可是现在运行后数据库没有反应,请问我这个思路对吗??
源码如下
$newpage//新页码
$res = mysql_query("select id,page from table by page asc");while($arr=mysql_fetch_row($res)){
$arr2[$arr[0]]=$arr[1];
} $count=count($arr2)+1;
for($i=$newpage;$i<$count-$newpage;$i++){
$arr3[$i]=$arr2[$i]+1;
}foreach($arr3 as $k=>$v){
$q= mysql_query("update table set page = case id
when $k then $v ");
}
批量上传
2.看起来不用这么麻烦,应该简单的sql就可以达到你现在代码的效果
3.如果"运行后数据库没有反应", 应该是出了错, 至少把错误信息显示出来
update ... set num=2 where num=5
/*
**$arr 是被插入数组,$page是当前文件名,$newpage是插入的页码
*/
foreach ($arr as $k=>$v){
if ($v>=$newpage && $v<$page+1){
$v=$v+1;
$q= mysql_query("update table set page = $v where id=$k");
}
}
mysql_query("update table set credit_order = $newpage where id=$id");
}