dever 4 years ago
parent
commit
139bdea758
2 changed files with 34 additions and 1 deletions
  1. 20 0
      database/info.php
  2. 14 1
      lib/Data.php

+ 20 - 0
database/info.php

@@ -19,6 +19,13 @@ $type = array
     4 => '切屏广告',
 );
 
+$order_type = array
+(
+    1 => '时间倒序',
+    2 => '时间正序',
+    3 => '随机排序',
+);
+
 return array
 (
     # 表名
@@ -98,6 +105,19 @@ return array
             //'search'    => 'select',
             //'list'        => true,
         ),
+
+        'order_type'      => array
+        (
+            'type'      => 'int-11',
+            'name'      => '数据类型',
+            'default'   => '1',
+            'desc'      => '请选择数据类型',
+            'match'     => 'is_numeric',
+            'option'    => $order_type,
+            'update'    => 'radio',
+            'search'    => 'select',
+            'list'        => true,
+        ),
         
         'reorder'       => array
         (

+ 14 - 1
lib/Data.php

@@ -18,7 +18,20 @@ class Data
                 $info = Dever::db('ad/info')->getAll(array('page_id' => $page['id']));
                 if ($info) {
                     foreach ($info as $k => $v) {
-                        $info[$k]['data'] = Dever::db('ad/data')->getAll(array('info_id' => $v['id']));
+                        $where['info_id'] = $v['id'];
+                        if ($v['order_type'] == 2) {
+                            $where['order'] = array('id' => 'asc');
+                        }
+                        $info[$k]['data'] = Dever::db('ad/data')->getAll($where);
+
+                        if ($info[$k]['data'] && $v['order_type'] == 3) {
+                            $order = array_rand($info[$k]['data'], count($info[$k]['data']));
+                            $temp = $info[$k]['data'];
+                            unset($info[$k]['data']);
+                            foreach ($order as $k1 => $v1) {
+                                $info[$k]['data'][$k1] = $temp[$v1];
+                            }
+                        }
                     }
 
                     Dever::cache($cache, $info);