From b4f74c0733300af30ca507ce80828c78f3dc8b52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=B9=E8=AF=9A=E8=AF=9A?= Date: Tue, 15 Jun 2021 11:26:48 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=B0=83=E8=AF=95=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=8E=A8=E8=8D=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/controllers/information.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/controllers/information.php b/application/controllers/information.php index 77bd21f7..e9e9f843 100644 --- a/application/controllers/information.php +++ b/application/controllers/information.php @@ -1174,7 +1174,6 @@ class Information extends CI_Controller } } - foreach ($group_recommands as $item) { if (empty($data[$item->ir_name])) { $result = $this->recommand_information_rule($information, $root_detail, $item, $exclude_ids); @@ -1184,6 +1183,7 @@ class Information extends CI_Controller } } //print_r($data); + log_message('error', 'exclude_ids: '.$information->ic_url.' '.implode(',',$exclude_ids)); return $data; } From 758cfc864c13082842ed99838adcdbf01a631709 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=B9=E8=AF=9A=E8=AF=9A?= Date: Tue, 15 Jun 2021 13:44:15 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=8E=A8=E8=8D=90=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E7=9A=84=E8=8C=83=E5=9B=B4=E5=86=85=E9=9A=8F=E6=9C=BA=E4=B8=8D?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/controllers/information.php | 6 ++++-- application/models/information_model.php | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/application/controllers/information.php b/application/controllers/information.php index e9e9f843..ab42515a 100644 --- a/application/controllers/information.php +++ b/application/controllers/information.php @@ -1142,8 +1142,10 @@ class Information extends CI_Controller } //读取备用节点 if (empty($data) && !empty($recommand->ir_urls)) {//查不到信息并且备选urls不为空,则随机选一条 +// $url_array = explode("\n", $recommand->ir_urls); +// $data = $this->Information_model->Detail(trim($url_array[rand(0, count($url_array) - 1)])); $url_array = explode("\n", $recommand->ir_urls); - $data = $this->Information_model->Detail(trim($url_array[rand(0, count($url_array) - 1)])); + $data = $this->Information_model->random_range(1,$url_array, $exclude_ids); } if (!empty($data)) { $exclude_ids[] = $data->is_id; @@ -1183,7 +1185,7 @@ class Information extends CI_Controller } } //print_r($data); - log_message('error', 'exclude_ids: '.$information->ic_url.' '.implode(',',$exclude_ids)); + //log_message('error', 'exclude_ids: '.$information->ic_url.' '.implode(',',$exclude_ids)); return $data; } diff --git a/application/models/information_model.php b/application/models/information_model.php index 32d59ffb..31706317 100644 --- a/application/models/information_model.php +++ b/application/models/information_model.php @@ -105,6 +105,21 @@ class Information_model extends CI_Model { return $this->GetList(); } + //在urls列表里面,随机获取N条数据,并且排除某些id + function random_range($topnum,array $url_array,array $exclude_ids){ + $this->init(); + $this->topNum = $topnum; + $this->search =' AND ( 1=2 '; + foreach ($url_array as $item){ + $this->search .= ' OR ic_url= '.$this->HT->escape(trim($item)); + } + $this->search .=' )'; + $exclude_ids_string=implode(',',$exclude_ids); + $this->search .= " AND ic_status=1 AND is_id NOT in ($exclude_ids_string,0)"; + $this->orderBy = " ORDER BY NewID() "; + return $this->GetList(); + } + //根据url搜索信息 function search_url($url) { $this->init();