×ðÁú¿­Ê±¹ÙÍøµÇ¼

thinkphpÔõôËæ»úÅÌÎʼ¸ÌõÊý¾Ý

ÔÚ¿ª·¢webÓ¦ÓóÌÐòÖУ¬¾­³£ÐèÒªÅÌÎÊËæ»úÊý¾Ý£¬ÒÔ±ãʵÏÖ²î±ðµÄÓªÒµÂß¼­ºÍЧ¹û¡£ÔÚthinkphp¿ò¼ÜÖУ¬¿ÉÒÔʹÓöàÖÖÊÖÒÕºÍÒªÁìʵÏÖËæ»úÅÌÎÊÊý¾ÝµÄ¹¦Ð§¡£

Ò»ÖÖ³£¼ûµÄÒªÁìÊÇʹÓÃmysqlµÄrandomº¯Êý£¨rand()º¯Êý£©¡£Õâ¸öº¯Êý¿ÉÒÔͨ¹ýÖ¸¶¨ÆðµãºÍÖյ㣬ÅÌÎÊÒ»¶¨¹æÄ£ÄÚµÄËæ»úÊý¾Ý¡£ºÃ±ÈÒªÅÌÎÊÒ»ÕÅ$tb_test±íÖÐidÔÚ10µ½100Ö®¼äµÄËæ»úÊý¾Ý£¬¿ÉÒÔʹÓÃÈçϵĴúÂ룺

<?php use think\Db;

$data = Db::name('test')->where('id', 'between', [10, 100])-&gt;orderRaw('rand()')-&gt;limit(10)-&gt;select();

µÇ¼ºó¸´ÖÆ

ÆäÖУ¬whereÌõ¼þÖ¸¶¨ÁËidµÄ¹æÄ££¬orderRawº¯ÊýÖ¸¶¨ÁËƾ֤Ëæ»ú˳ÐòÅÅÐò£¬limitº¯ÊýÖ¸¶¨ÁËÅÌÎʵÄÊý¾ÝÌõÊý¡£Õâ¸öÒªÁìµÄÈõµãÊÇЧÂʵÍÏ£¬µ±±íÖÐÊý¾ÝÁ¿½Ï´óʱ£¬ÅÌÎÊËÙÂÊ»áÏÔ×űäÂý¡£

ÁíÒ»ÖÖÒªÁìÊÇʹÓÃPHPµÄrandº¯Êý£¬Í¨¹ý±àдӪҵÂß¼­ºÍº¯ÊýʵÏÖËæ»úÅÌÎÊÊý¾ÝµÄ¹¦Ð§¡£Ë¼Ð÷ÈçÏ£º

Ê×ÏÈ£¬´ÓÅÌÎʱíÖлñÈ¡¼Í¼µÄ×ÜÊý£¬Æ¾Ö¤ÒªÇóÅÌÎʵļͼÊý£¬ÅÌËã³öËùÐè¼Í¼µÄidºÅ¡£

Á¬Ã¦Ñ§Ï°¡°PHPÃâ·ÑѧϰÌõ¼Ç£¨ÉîÈ룩¡±£»

È»ºó£¬Æ¾Ö¤idºÅÅÌÎÊÊý¾Ý£¬²¢ÇÒ°ü¹ÜÅÌÎʳöÀ´µÄÊý¾ÝÊÇËæ»úµÄ¡£ÆäÖУ¬¿ÉÒÔʹÓÿØÖÆrandº¯ÊýËæ»úÐÔµÄÖÖ×ÓÖµ£¬°ü¹ÜÅÌÎÊЧ¹ûµÄËæ»úÐÔ¡£ÁíÍ⣬ÔÚ´úÂëʵÏÖÀú³ÌÖУ¬Ò»¶¨×¢ÖØʹÓûº´æÊÖÒÕ£¬×èֹƵÈÔÅÌÎÊÊý¾Ý¿â¡£

ÏêϸµÄ´úÂëʵÏÖÈçÏ£º

<?php use think\Cache;
use think\Db;

//»ñÈ¡Êý¾Ý±í×ܼͼÊý
$count = Db::name('test')->count();

//Ö¸¶¨ÅÌÎʼͼÊý
$num = 10;

//ÌìÉúËæ»úÊýÖÖ×Ó
$seed = rand(0, $count - 1);

//ÌìÉúidÊý×é
$id_arr = range(1, $count);
shuffle($id_arr);
$id_arr = array_slice($id_arr, 0, $num);

//ÅÌÎÊÊý¾Ý
$data = Cache::remember('random_data', function() use ($id_arr) {
    $data = Db::name('test')-&gt;where('id', 'in', $id_arr)-&gt;select();
    return $data;
}, 60);

µÇ¼ºó¸´ÖÆ

ÆäÖУ¬rangeº¯ÊýÓÃÓÚÌìÉúÒ»¸öÖ¸¶¨¹æÄ£µÄÊý×飬shuffleº¯ÊýÓÃÓÚ½«Êý×éËæ»ú´òÂÒ£¬array_sliceº¯ÊýÓÃÓÚ½ØÈ¡Êý×éÖ¸¶¨³¤¶ÈµÄ²¿·Ö¡£CacheÀàÓÃÓÚʵÏÖÊý¾Ý»º´æ£¬×èֹƵÈÔÅÌÎÊÊý¾Ý¿â¡£¿ÉÒÔƾ֤ÏÖʵӪҵÐèÇ󣬵÷½â»º´æʱ¼ä»ººÍ´æÕ½ÂÔ¡£

ÒÔÉÏÁ½ÖÖÒªÁ춼¿ÉÒÔʵÏÖËæ»úÅÌÎÊÊý¾ÝµÄ¹¦Ð§£¬ÏêϸʹÓÃÄÄÒ»ÖÖÊÖÒÕҪƾ֤ÏÖʵӪҵ³¡¾°ºÍÐèÇóÀ´È·¶¨¡£ÔÚ¿ª·¢webÓ¦ÓóÌÐòʱ£¬Ó¦Æ¾Ö¤ÐÔÄÜ¡¢Ð§ÂÊ¡¢Çå¾²ÐԵȷ½ÃæµÄ˼Á¿£¬Ñ¡ÔñºÏÊʵÄÊÖÒÕºÍÒªÁ죬ʵÏÖ¹¦Ð§ÓÅ»¯ºÍÌáÉýÓû§ÌåÑé¡£

ÒÔÉϾÍÊÇthinkphpÔõôËæ»úÅÌÎʼ¸ÌõÊý¾ÝµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí£¬°æȨÕùÒéÓë±¾Õ¾Î޹أ¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í×ðÁú¿­Ê±¹ÙÍøµÇ¼ÂËÓÍ»úÍø¹Ù·½Ì¬¶È£¬Çë¶ÁÕß½ö×ö²Î¿¼¡£±¾ÎĽӴýתÔØ£¬×ªÔØÇë˵Ã÷À´ÓÉ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢£¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢£¬ÇëÄúÁ¬Ã¦ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼ʵʱÐÞÕý»òɾ³ý¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼

18523999891

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎ壬9:30-18:30£¬½ÚãåÈÕÐÝÏ¢

QR code
ÍøÕ¾µØͼ