The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
SQL Statement help - Sum - Resource ID #81
I'm coding a page in a new hack I'm building and am trying to sum a column using a where condition. Here's the code I'm using:
Code:
$pledgeamount=$vbulletin->db->query("SELECT SUM(donation_amount) from " . TABLE_PREFIX . "donations where donation_sport='$football'"); $pledge=$pledgeamount['donation_amount']; I've done hacks before for Vbulletin, but never had to use a Sum statement. Is there something special I need to do? |
#2
|
||||
|
||||
Instead of using the query() function, use query_first() which will also fetch the results as an array.
|
#3
|
|||
|
|||
Thanks for the reply. I was able to find a work-around (make it work) by looking at the code for vbBookie...i figured they were adding something in there. With that said, here's code that works (maybe not efficient, but a starting point for somebody in the same position I was).
Code:
$pledgetotals=$db->query_read("SELECT SUM(donation_amount) pledges FROM " . TABLE_PREFIX . "donations where donation_sport='$football'"); $totalpledges = $db->fetch_array($pledgetotals); $finalamount=$totalpledges[pledges]; |
#4
|
||||
|
||||
query_first() basically calls query_read() and fetch_array() to save time.
|
#5
|
||||
|
||||
And calls a free_result as well.
|
#6
|
|||
|
|||
The reason the first query does not work is because the result field name ends up something like SUM(donation_amount), not donation_amount as you expected. With SUM you generally use AS.
SELECT SUM(my_field) AS SomeName FROM X GROUP BY Y; |
Thread Tools | |
Display Modes | |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|