保存一堆文件,路径入数据库,以页码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 ");
}

解决方案 »

  1.   

    $q= mysql_query("update table set page = case id when $k  then $v ");then 是什么?
      

  2.   

    case when... then....的句式  
    批量上传
      

  3.   

    1.不是很清楚你的意思,给出表结构和简单的例子, 
    2.看起来不用这么麻烦,应该简单的sql就可以达到你现在代码的效果
    3.如果"运行后数据库没有反应", 应该是出了错, 至少把错误信息显示出来
      

  4.   

    update ... set num=num+1 where num BETWEEN 2 and 5-1
    update ... set num=2 where num=5
      

  5.   

    自己解决问题了,谢谢版主,现在将自己的算法写出来,希望可以帮到其他人。if(!empty($newpage)){
    /*
    **$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");
    }