求一个排序算法

php中文网
发布: 2016-06-23 14:03:41
原创
1012人浏览过

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

算家云
算家云

高效、便捷的人工智能算力服务平台

算家云 37
查看详情 算家云

回复讨论(解决方案)

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

then 是什么?

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

请问有人知道吗 ?? 

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

    发现我的算法确实存在问题,有些情况没有考虑进去。
     我现在的情况是,文件名用数字序列命名,比如是1、2、3、4、5,路径存入数据库,现在想将文件5插入到2前面,原来的2、3、4文件名就要相应的加1,各位大神有没有其他好的思路或例子?? 想了一天还是不行,谢谢了

update ... set num=num+1 where num BETWEEN 2 and 5-1
update ... set num=2 where num=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");}
登录后复制

这是什么算法啊 

兄弟, 相信我, 花点时间把问题说清楚后, 
你就不需要每次让可怜的电脑运行这么多次查询了.....

自己解决问题了,谢谢版主,现在将自己的算法写出来,希望可以帮到其他人。

PHP code?123456789101112if(!empty($newpage)){/***$arr 是被插入数组,$page是当前文件名,$newpage是插入的页码*/foreach ($arr as $k=>$v){    if ($v>=$newpage && $v……

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号