如何实现文章随机

2016-07-07 14:55 来源:www.chinab4c.com 作者:ecshop专家

在这里如何实现每个页面的内容都不相同
也就是所谓的随机调用
求教高人详细解答
在此跪着给您磕头啦

回答:
用rand随即抽取..

能说详细点吗 谢了

求人解答

怎么没人回答我啊求教啊

还是没人解答一直顶到有人说为止

二楼正解
像这样 select title from ecs_articleorder by rand() limit 10

具体在哪个模块哪行呀真是郁闷 小弟以前都是用dedecms初次用ecshop 不熟高人告诉我在此跪拜

关注此问题!!!斑竹们别太保守了哈

9楼说的对支持顶下



就是用rand()函数,结合mysql的limit语句。发一个我写的函数给你参考。
  1. /**
  2. * 随机调取6条文章
  3. */
  4. function get_articles($cat_id,$num=6)
  5. {
  6. $cat_str = get_article_children($cat_id);

  7. $sql = 'SELECT count(*) ' .
  8. ' FROM ' .$GLOBALS['ecs']->table('article') .
  9. ' WHERE is_open = 1 AND ' . $cat_str.' ';

  10. $total_num=$GLOBALS['db']->getOne($sql);

  11. if($num>=$total_num)
  12. {
  13. $sql = 'SELECT article_id, title, author, add_time, file_url, open_type' .
  14. ' FROM ' .$GLOBALS['ecs']->table('article') .
  15. ' WHERE is_open = 1 AND ' . $cat_str .
  16. ' ORDER BY article_type DESC, article_id DESC';

  17. $articles=$GLOBALS['db']->getAll($sql);

  18. foreach($articles as $key=>$item)
  19. {
  20. $articles[$key]['id']=$item['article_id'];
  21. $articles[$key]['short_title'] = $GLOBALS['_CFG']['article_title_length'] > 0 ? sub_str($item['title'], $GLOBALS['_CFG']['article_title_length']) : $item['title'];
  22. $articles[$key]['author']= empty($item['author']) || $item['author'] == '_SHOPHELP' ? $GLOBALS['_CFG']['shop_name'] : $item['author'];
  23. $articles[$key]['url']= $item['open_type'] != 1 ? build_uri('article', array('aid'=>$item['article_id']), $item['title']) : trim($item['file_url']);
  24. $articles[$key]['add_time'] = date($GLOBALS['_CFG']['date_format'], $item['add_time']);
  25. }

  26. return $articles;
  27. }
  28. else{
  29. $id_array=array();
  30. for($i=1;$i<=$num;$i++)
  31. {
  32. $pos=rand(0,$total_num-1);

  33. $sql = 'SELECT article_id, title, author, add_time, file_url, open_type' .
  34. ' FROM ' .$GLOBALS['ecs']->table('article') .
  35. ' WHERE is_open = 1 AND ' . $cat_str .
  36. ' ORDER BY article_type DESC, article_id DESC';
  37. $sql .=" limit ".$pos.",1";

  38. $article_info=$GLOBALS['db']->getRow($sql);

  39. $article_id=$article_info['article_id'];

  40. while(in_array($article_id,$id_array))
  41. {
  42. $pos=rand(0,$total_num-1);

  43. $sql = 'SELECT article_id, title, author, add_time, file_url, open_type' .
  44. ' FROM ' .$GLOBALS['ecs']->table('article') .
  45. ' WHERE is_open = 1 AND ' . $cat_str .
  46. ' ORDER BY article_type DESC, article_id DESC';
  47. $sql .=" limit ".$pos.",1";

  48. $article_info=$GLOBALS['db']->getRow($sql);

  49. $article_id=$article_info['article_id'];

  50. array_push($id_array,$article_id);
  51. }

  52. $article_info['id']=$article_info['article_id'];
  53. $article_info['short_title'] = $GLOBALS['_CFG']['article_title_length'] > 0 ? sub_str($article_info['title'], $GLOBALS['_CFG']['article_title_length']) : $article_info['title'];
  54. $article_info['author']= empty($article_info['author']) || $article_info['author'] == '_SHOPHELP' ? $GLOBALS['_CFG']['shop_name'] : $article_info['author'];
  55. $article_info['url']= $article_info['open_type'] != 1 ? build_uri('article', array('aid'=>$article_id), $article_info['title']) : trim($article_info['file_url']);
  56. $article_info['add_time'] = date($GLOBALS['_CFG']['date_format'], $article_info['add_time']);

  57. $articles[]=$article_info;
  58. }

  59. return $articles;
  60. }
  61. }
复制代码

还是不懂 这个问题困扰我三天了我快烦死了

收藏了!!

收藏了,学习先!