美文网首页
tp5 随机从数据库取数据方法(不重复)

tp5 随机从数据库取数据方法(不重复)

作者: 抠脚0 | 来源:发表于2019-06-06 11:09 被阅读0次

    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();

    ~~~

    相关文章

      网友评论

          本文标题:tp5 随机从数据库取数据方法(不重复)

          本文链接:https://www.haomeiwen.com/subject/siesyqtx.html