【发布时间】:2011-09-07 19:44:44
【问题描述】:
我试图获取一个月的总销售额
$aug11 = mysql_query("SELECT SUM(price) FROM table WHERE sales_date LIKE '08/%/2011' ");
当我回显 $aug11 时,我收到资源 id# 错误。我也试过这样做
$test1 = mysql_fetch_array($aug11);
当我回显 $test1 时,它只会显示“数组”。
是否绝对有必要在原始查询中按 sales_date 放置一个 GROUP,然后有一个 while 循环来抓取数组并让我回显这些值?
除了 8 月份的“价格”总和之外,我真的不需要任何其他值。
有人可以向我解释一下如何在没有 while 循环的情况下显示我需要的值吗?
【问题讨论】:
-
您正在获取数组,因此 test1 是数组.. 考虑 var_dump($test1);或 $test1[0] 访问您正在寻找的值..
-
RTFM: php.net/mysql_fetch_array 当一个函数被称为 'fetch_array' 时,也许你应该假设它实际上返回(惊喜!)一个数组。
-
1. Salesdate 应该是日期,而不是 varchar 2. 不要使用
like,使用where sales_date BETWEEN '2011-08-01' AND '2011-08-31'3. 如果您想要快速查询,请在 sales_date 上建立索引。 -
感谢您的所有 cmets!如果没有他们中的一些人的讥讽居高临下的语气,我们本可以做到的(Marc B 感到惊讶?),但我们仍然非常感谢他们的帮助。祝大家周末愉快