我正在尝试从我的数据库中抓取几个随机视频,并将它们显示在页面上。然而,它只是继续抓取相同的视频而不是几个不同的视频。所以我最终得到5个相同的视频,而不是5个不同的视频。
这是抓取随机PHP代码文件......之后是模板输出文件。
//=====================================================
// Random | Previous | Next
//=====================================================
$show['random'] = $db->quick_fetch(
"SELECT file_id, title, title_seo, category_id, thumb FROM files
WHERE files.category_id = '".$show['main']['category_id']."'
AND files.verified=1 ORDER BY RAND() LIMIT 0,1;
");
这是模板CSS html thingy代码我粘贴5次以显示5个随机视频
<td valign="top" width="53%"><?
$ sql =“select * from files ORDER BY rand()limit 0,5”; $解析度= @的mysql_query($ SQL); $数据= @ mysql_result($ RES,0, '文件名'); $ ID = @ mysql_result($ RES,0, 'FILE_ID'); $标题= @ mysql_result($ RES,0, '标题'); $ title2 = str_replace(“”,“ - ”,$ title); $路径= “{$ SITEURL} /媒体/ {$ file.random.file_id} / {$ file.random.title_seo} /”; $ IMG = “{$ SITEURL} /拇指/ {$ file.random.thumb}”; echo“
{$ file.random.title}”
答案 0 :(得分:1)
你不能只粘贴它5次。您还必须运行查询5次。但这也不是正确的做法。您应该运行一次查询,并将LIMIT 0,1
更改为LIMIT 0,5
或仅LIMIT 5
。然后在smarty模板中循环遍历5个随机结果。
下面是你如何在smarty(又名CSS html thingy代码)中循环关联数组:
http://www.smarty.net/docsv2/en/language.function.section.tpl
修改
好的,那段代码看起来不太好。让我们分解一下。你有没有在phpmyadmin或一些这样的工具中运行你的查询,以确保它返回你想要的?首先,确保查询是好的。
第二,你甚至使用smarty吗?我猜对了,因为那就是它的样子。
第三,确保您发送给smarty的阵列已正确形成并包含您需要的所有数据。在分配变量之前,在PHP端执行print_r
。
最后,这里有一些伪代码,告诉你这应该如何工作,如果它实际上是聪明的:
Run the query
Loop through the results, building an associative array of the data you want to send to smarty
(print it out and make sure its correct, for debugging purposes)
Assign the created array to a variable available to the smarty template
In the smarty template, use the section (loop) code and loop over the array of results to display it.
答案 1 :(得分:0)