php/mysql 分页 - 从多个字段计数

标签 php mysql pagination

我正在尝试遵循此分页教程 http://www.phpfreaks.com/tutorial/basic-pagination将分页添加到我构建的搜索页面。本教程中的以下行:

$sql = "SELECT  COUNT(*) FROM numbers";

我需要它根据与从小表单中提取的用户输入数据相匹配的行进行计数。这是我在尝试添加分页之前运行的工作查询

$raw_results = mysql_query("SELECT * FROM Pictures WHERE (`RimWidth` LIKE '%".$RimWidth."%') AND (`TyreWidth` LIKE '%".$TyreWidth."%') AND (`Aspect` LIKE '%".$Aspect."%') AND (`TyreDia` LIKE '%".$TyreDia."%') AND (`TyreMan` LIKE '%".$TyreMan."%')") or die(mysql_error());

我不确定如何添加它。我试过这个:

$sql = mysql_query("SELECT COUNT FROM Pictures WHERE (`RimWidth` LIKE '%".$RimWidth."%') AND (`TyreWidth` LIKE '%".$TyreWidth."%') AND (`Aspect` LIKE '%".$Aspect."%') AND (`TyreDia` LIKE '%".$TyreDia."%') AND (`TyreMan` LIKE '%".$TyreMan."%')") or die(mysql_error());

但它只是出错了。

我需要如何格式化查询?

最佳答案

您使用 COUNT 而不是 COUNT(表达式) 时出现错误,因此您必须更改查询,以便像第一个一样使用 SELECT COUNT(*)你给出的例子。

编辑这就是获得准确计数的方法:

$query = "SELECT COUNT(*) FROM Pictures WHERE (`RimWidth` LIKE '%".$RimWidth."%') AND (`TyreWidth` LIKE '%".$TyreWidth."%') AND (`Aspect` LIKE '%".$Aspect."%') AND (`TyreDia` LIKE '%".$TyreDia."%') AND (`TyreMan` LIKE '%".$TyreMan."%')";

$result = mysql_query($query) or die(mysql_error());
$count = mysql_fetch_row($result);

关于php/mysql 分页 - 从多个字段计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20588561/

相关文章:

mysql - 如何清除mysql 8 innodb中的数据库缓存

mysql - 使用 Flyway 和 MySQL 的 ssh 隧道?

c# - Cosmos DB 分页和排序

php - get_posts 的 include 选项有效,但不限制帖子数量

php - 调用未定义的方法 BelongsTo::attach()

php - 排名系统设计

javascript - 为什么我的 mysql 日期在 javascript 中减少一天?

php - 如何从 PHP 访问表单的 'name' 变量

php - 如何在 laravel 的 Controller 中获取 url 参数?

php - 使用 Jquery、PHP、Mysql 进行 Ajax 分页