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

时间:2013-12-14 21:39:49

标签: 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());

但它只是出错了。

我如何格式化查询?

2 个答案:

答案 0 :(得分:0)

COUNT(*) - 跳过了重要的事情。 基本上,如果您的查询有效,但是您需要获取计数而不是实际数据,那么您应该使用COUNT(*)

替换您尝试选择的列。

还有一件事。您上一个代码行的结果不是字符串本身。它是可用于获取所需计数的资源。

答案 1 :(得分:0)

您使用 COUNT 而非 COUNT(expression) 收到错误,所以你必须更改你的查询,以便你使用 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);