1.封装方法
~~~
function getRandTable($nums, $tables)
{
$num = $nums; //需要抽取的默认条数
$table = $tables; //需要抽取的数据表
$pk = Db::name($table)->getPK();//获取主键
$countcus = Db::name($table)->field($pk)->select();//查询数据
$con = '';
foreach($countcus as $v=>$val){
$con.= $val[$pk].'|';
}
$array = explode("|",$con);// 拆分
$data = [];
foreach ($array as $v){
if (!empty($v)){
$data[$v]=$v;//循环健值
};
}
$a=array_rand($data,$num) ;//随机数组
$list = Db::name("$table")->where($pk,'in',$a)->select();
return json($list);
}
~~~
2.查询数据
~~~
$q =Db::name('cms_testdetail')->where('rand()')->limit(2)->select();
~~~
网友评论