![]() |
Attachments per forum
Can anyone please tell what I am doing wrong or missing in this query? I am trying to get the attachments count per forum and right now it shows the same count and bytes in every forum. Here is the code:
PHP Code:
|
I think your query is wrong...
I'm not sure if it is right, but try: Code:
$attachs=$DB_site->query_first("SELECT forum.title AS forum, COUNT(attachment.attachmentid) AS count, SUM(LENGTH(attachment.filedata)) AS bytes Satan |
After taking the commas out after the LEFT JOINs (gave db error), I get the same results that I was getting with the other code. It shows 51 attachments, which is what I have in one forum. It shows that one very forum.
|
Ok, we've narrowed it down to this:
SELECT SUM(attach) AS count FROM thread WHERE attach > 0 AND forumid=$forumid Can anyone please tell me how to get the total filezise in both bytes and KB from this query? |
Looking into now.
|
That was quick. Thank you, sir. ;)
|
I got it; however it takes 3.10 sec to execute. If you're going to use it I strongly suggest you make it cache itself daily or so.
[sql] SELECT COUNT(p.postid), SUM(LENGTH(a.filedata)), f.title FROM post p, thread t, forum f, attachment a WHERE a.attachmentid = p.attachmentid AND t.threadid = p.threadid AND f.forumid = t.forumid AND p.attachmentid > 0 GROUP BY f.forumid; [/sql] I'm sure it can be done with JOINs, too, but I don't know how. |
BTW it's the SUM(LENGTH()) that's taking the most time. The query returns the number of posts with attachments, the cumulative filesize of all of those attachments, and the title of each forum, grouped by each forum.
|
Using this shows the same attachments amount and file size in every forum. ;)
|
Didn't for me (MySQL 4.0.12). It returned distinct forum titles and the other stats for them
|
Ok, maybe I didn't call it right, then. Here is what I have now.
PHP Code:
Quote:
|
It returns multiple rows, not one row (query() instead of query_first()).
|
I get these errors at the top of the page when I run the following code:
Warning: Cannot use a scalar value as an array in /home/bear/public_html/forum/forumdisplay.php on line 738 Warning: Cannot use a scalar value as an array in /home/bear/public_html/forum/forumdisplay.php on line 739 PHP Code:
|
Iterate through it using $DB_site->fetch_array()...have you extensively worked with MySQL through vB before?
|
Not a whole lot, no. Simple queries, I can usually do. ;)
I must not be getting it right or understanding it, I guess. I am still getting errors. This time it is: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/bear/public_html/forum/admin/db_mysql.php on line 149 |
Iterate as such (just an example):
PHP Code:
|
We figured out what I was doing wrong with the original code in post #1. I forgot to add:
AND forum.forumid=$forumid to the end of it. Now it returns the right info for each forum and runs fast. |
All times are GMT. The time now is 10:05 PM. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|