where(array("model"=>1,"uid"=>$uid))->order("update_time DESC")->find(); if($history){ $data[] = array( "title"=>"继续阅读:《".$history["name"]."》", "picurl"=>$site_url.$cover, "url"=>$site_url."/chapter/read/".$history["articleid"]."/".$history["chapterid"], ); }else{ $list = $this->random_data(1,"novel",array("status"=>1,"allvisit"=>array(">=",100)),"id,title,cover"); if($list){ foreach ($list as $k=>$v){ $data[] = array( "title"=>$v["title"], "picurl"=>$site_url.$cover, "url"=>$site_url."/book/info/id/".$v["id"], ); } } } $data["articles"] = $data; break; case '2'://猜你喜欢推荐 $list = $this->random_data($num,"novel",array("status"=>1,"allvisit"=>array(">=",100)),"id,title,cover"); $noveldata = array(); if($list){ foreach ($list as $k=>$v){ $noveldata[] = array( "title"=>$v["title"], "picurl"=>$site_url.$v["cover"], "url"=>$site_url."/book/info/id/".$v["id"], ); } } $data["articles"] =$noveldata; break; } return $data; } public function random_data($num,$table,$where=[],$field=null) { $pk = Db::name($table)->getPK();//获取主键 $info = Db::name($table)->where($where)->field($pk)->select();//查询数据 $list = array(); if(count($info)>=$num){ $n = ''; $qu = ''; foreach($info as $v=>$val){ $n[$val[$pk]]= $val[$pk]; } $rand = array_rand($n,$num); if(is_array($rand)){ $qu = implode(',',$rand); }else{ $qu = $rand; } if($field){ $list = Db::name($table)->where($pk,'in',$qu)->field($field)->select(); }else{ $list = Db::name($table)->where($pk,'in',$qu)->select(); } } return $list; } }