Home > Backend Development > PHP Tutorial > 排序有关问题

排序有关问题

WBOY
Release: 2016-06-13 13:53:11
Original
987 people have browsed it

排序问题
是这样的,一个视频有多个播放器图标,每一个图标有对应的播放地址。
在数据库表字段是这样的
vod_pic varchar(200) not null,
vod_reurl varchar(1000) not null,

播放图标用$$$分割,比如 youku$$$tudou
播放地址用$$$分割,比如www.youku.com$$$www.toudou.com

他们存储的信息,是一一对应应的,

说了这么多,现在进入正题


我想在后台写一个功能控制它们在前台页面的显示顺序(前台我是用的循环,输出,所以默认排序是就是数据库里数据存的先后顺序)。

还请大侠们指点一下,应该怎么样做。

因为业务上的要求,比如,我要把tudou排在第一,那么所有视频的带有toudou的图标的,都应该排在第一位。

这个我应该怎样做呢。

我打算用代码在后台操作数据存的位置,来改变顺序的问题。但是这一种可能出错的可能性很大。

想请大侠们指点一下高招。


------解决方案--------------------
你可以多加一个字段用来做排序的啊;
前台使用循环那不是很好搞定吗?
循环的时候添加进一个字段
------解决方案--------------------
写个算法重新排序不就得了

PHP code
<?php $a='youku$$$tudou';//vod_pic字段
$b='www.youku.com$$$www.tudou.com';//vod_reurl字段
$a_arr=explode('$$$',$a);
$b_arr=explode('$$$',$b);
$a_tudouarr=array("tudou");
$b_tudouarr=array("www.tudou.com");
if(in_array("tudou",$a_arr)){
$a_arr = array_merge($a_tudouarr,array_diff($a_arr, $a_tudouarr));
$b_arr = array_merge($b_tudouarr,array_diff($a_arr, $b_tudouarr));
}
print_r($a_arr);//排序新的数组,tudou字段在第一个,接来下循环出来就可以了
print_r($b_arr);//排序新的数组,tudou字段在第一个,接来下循环出来就可以了

?>
<br><font color="#e78608">------解决方案--------------------</font><br>我那个算法就是帮你重新排序的呀!跟多少有什么关系!你可以测试一下!
<br><font color="#e78608">------解决方案--------------------</font><br>用数据库实现吧。拿出来就是,不是很好吗?
<br><font color="#e78608">------解决方案--------------------</font><br>用数据库确实也可以,用替换过滤就可以了
<br><font color="#e78608">------解决方案--------------------</font><br>修改你的数据组织方式!<br>使 vod_pic 和 vod_reurl 一一对应<br>而不是现在这个样子<br><br>你现在的数据组织方式,并不能象你想象的那样能节省数据库的存储空间<br>反而白白的浪费了大量程序与形式的空间和时间<br><br> <div class="clear">
                 
              
              
        
            </div>
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template