我试图遵循这个分页教程添加分页到我已经构建的搜索页面。本教程中的一行如下:
$sql = "SELECT COUNT(*) FROM numbers";
我需要它根据与用户输入的数据相匹配的行进行计数,这些数据是从一个小表单中提取的。这是我在尝试添加分页之前运行的工作查询。
$raw_results = mysql_query("SELECT * FROM Pictures WHERE (`RimWidth` LIKE '%".$RimWidth."%') AND (`TyreWidth` LIKE '%".$TyreW
我使用mysql作为我的主数据库,并将一些数据同步到elasticsearch,以利用模糊搜索和聚合等功能。然而,这个问题可以应用于关系数据库和非关系数据库。
当用户搜索时,我对elastic进行查询,获取ids ( mysql中的主键),并对mysql数据库进行另一次查询,其中我根据elastic返回的ids进行过滤。我使用这种方法是因为你经常需要从关系数据库加载一些额外的数据,而在基于文档的弹性(例如,load user with comment)中维护这些关系将是地狱。
问题是,相同的过滤器不会应用于elastic查询和mysql查询。在上面示例中,如果您需要按某些用户参数过滤注释,该怎
(我想不出一个好的标题,对不起)
所以我使用这个分页:
$page = $_GET['page'];
$max = 5;
// if $page is empty, set page number to 1
if (empty($page)) $page = 1;
$limit = ($page - 1) * $max;
$sql = mysql_query("SELECT * FROM posts ORDER BY date DESC LIMIT $limit, $max");
$totalres = mysql_result(mysql_quer
我有一个页面,其中我列出了一些基于搜索数据的产品。所显示的产品不是保存在本地数据库中,而是使用API实时获取的(这就是它必须保持的方式)。
当页面加载时,它首先列出来自一个提供者的产品(第一个API调用)。在页面完成加载后,使用Ajax对第二个提供者进行第二次调用,产品列表将出现并附加到页面中。
考虑到每个api调用都需要2+秒才能返回数据,我不能在页面加载上留下超过一个调用。
我的问题是:在这种情况下如何分页?
Idea 1
执行静态分页:分页是在浏览器中完成的。这确实很简单,但是在大的结果集上,它可能会减慢设备的速度,甚至使页面崩溃。
Idea 2
在第一次加载时,缓存所有结果并使用缓存文