网络营销电子商务研究中心

网络营销电子商务研究中心 (https://www.0058.net/index.php)
-   帝国Cms (https://www.0058.net/forumdisplay.php?f=72)
-   -   灵动标签操作数据库调用随机文章标题 (https://www.0058.net/showthread.php?t=5270)

La Verkin 2015-09-28 11:02 PM

灵动标签操作数据库调用随机文章标题
 
第一步要知道如何用mysql操作数据库调用随机文章标题, 这么实现:
SELECT id, title,titleurl FROM phome_ecms_news WHERE id >= ((SELECT MAX(id) FROM phome_ecms_news)-(SELECT MIN(id) FROM phome_ecms_news)) * RAND() + (SELECT MIN(id) FROM phome_ecms_news) ORDER BY id LIMIT 10

再将上边的语句整合到灵动标签:
[e:loop={'SELECT id, title,titleurl FROM [!db.pre!]ecms_news WHERE id >= ((SELECT MAX(id) FROM [!db.pre!]ecms_news)-(SELECT MIN(id) FROM [!db.pre!]ecms_news)) * RAND() + (SELECT MIN(id) FROM [!db.pre!]ecms_news) ORDER BY id LIMIT 10',10,24,0}]
<a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <br>
[/e:loop]

La Verkin 2015-09-29 12:23 AM

下边的效果更好:

SELECT * FROM [!db.pre!]ecms_news AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM [!db.pre!]ecms_news)-(SELECT MIN(id) FROM [!db.pre!]ecms_news))+(SELECT MIN(id) FROM [!db.pre!]ecms_news)) AS id) AS t2 WHERE t1.id >= t2.id ORDER BY t1.id LIMIT 10

整合到灵动标签中:

<ul>
[e:loop={'SELECT * FROM [!db.pre!]ecms_news AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM [!db.pre!]ecms_news)-(SELECT MIN(id) FROM [!db.pre!]ecms_news))+(SELECT MIN(id) FROM [!db.pre!]ecms_news)) AS id) AS t2 WHERE t1.id >= t2.id ORDER BY t1.id LIMIT 10 ',10,24,0}]
<li><a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a></li>
[/e:loop]
</ul>


All times are GMT +8. The time now is 05:39 AM.

Powered by vBulletin Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.