Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > General > Member Archives
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Attachment Count in MB Details »»
Attachment Count in MB
Version: , by Boofo Boofo is offline
Developer Last Online: Jun 2012 Show Printable Version Email this Page

Version: Unknown Rating:
Released: 05-26-2003 Last Update: Never Installs: 0
 
No support by the author.

Can anyone please tell me how to pull the MB out of an attachment query? Here is the code for pulling out the KB but I can't seem to find the right code for the MB. I know it is simple, but I must not be very good in the math department.

PHP Code:
SUM(LENGTH(attachment.filedata))/1024 AS KBbytes 

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #2  
Old 05-26-2003, 08:06 PM
assassingod's Avatar
assassingod assassingod is offline
 
Join Date: Jul 2002
Posts: 3,337
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

PHP Code:
SUM(LENGTH(attachment.filedata))/1048576 AS KBbytes 
?
Reply With Quote
  #3  
Old 05-26-2003, 08:19 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I had that but I want to get it like 2.12 MB. instead of just 2 MB. How do I get it to go the 2 decimal places?
Reply With Quote
  #4  
Old 05-26-2003, 08:39 PM
filburt1 filburt1 is offline
 
Join Date: Feb 2002
Location: Maryland, US
Posts: 6,144
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

<a href="http://www.php.net/round" target="_blank">http://www.php.net/round</a>
Reply With Quote
  #5  
Old 05-26-2003, 08:45 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I tried that, too. When I round 2,174,891, I get 2 MB. This is how I used round:

PHP Code:
$attachs['MBbytes'] = round($attachs['MBbytes']); 
Reply With Quote
  #6  
Old 05-26-2003, 09:00 PM
filburt1 filburt1 is offline
 
Join Date: Feb 2002
Location: Maryland, US
Posts: 6,144
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Then:
[sql]
...SUM(LENGTH(attachment.filedata)) / 1024 * 1024 * 1024 AS mbytesum...
[/sql]
...then round it.
Reply With Quote
  #7  
Old 05-26-2003, 09:11 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

That threw it way off. Here's the code I am working with if that will help.

PHP Code:
/** Count of Attachments Per Forum and Bytes **/
$attachs=$DB_site->query_first("SELECT forum.title AS forum, COUNT(attachment.attachmentid) AS count, SUM(LENGTH(attachment.filedata)) AS bytes, SUM(LENGTH(attachment.filedata))/1024 AS KBbytes, SUM(LENGTH(attachment.filedata))/1048576 AS MBbytes
FROM attachment,post,thread,forum
WHERE attachment.attachmentid = post.attachmentid
AND post.threadid=thread.threadid
AND forum.forumid=thread.forumid
AND forum.forumid=
$forumid
GROUP BY thread.forumid
ORDER BY count DESC"
);

$attachs['count'] = number_format($attachs['count']);
$attachs['bytes'] = number_format($attachs['bytes']);
$attachs['KBbytes'] = number_format($attachs['KBbytes']);
$attachs['MBbytes'] = number_format($attachs['MBbytes']);
$attachs['MBbytes'] = round($attachs['MBbytes']);
If (
$attachs['MBbytes']<1) {
$attachs['MBbytes']='';
} else {
$attachs['MBbytes']="=" .$attachs['MBbytes']. "MB";
}
If (
$attachs['count'] !="0") {
$attachinfo="<tr>
        <td nowrap><smallfont><b>Total Attachments:</b> 
$attachs[count]</smallfont></td>
        <td nowrap><smallfont><b>Total Attachments Bytes:</b> 
$attachs[bytes] bytes ($attachs[KBbytes] KB$attachs[MBbytes])</smallfont></td>
</tr>"
;
} else {
$attachinfo="";
}
/** Count of Attachments Per Forum and Bytes **/ 
Reply With Quote
  #8  
Old 05-26-2003, 11:00 PM
noppid noppid is offline
 
Join Date: Mar 2003
Location: Florida
Posts: 1,875
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Use the php modulus operator to work with the remainder.

http://us3.php.net/manual/en/languag...arithmetic.php
Reply With Quote
  #9  
Old 05-26-2003, 11:17 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

LOL I just tried that and I was way off. All I am trying to do is go 2 decimal places with the MB and have it rouind up if it needs to.
Reply With Quote
  #10  
Old 05-26-2003, 11:23 PM
filburt1 filburt1 is offline
 
Join Date: Feb 2002
Location: Maryland, US
Posts: 6,144
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Okay, get the sum in bytes, and assume it's in the $bytes variable.
PHP Code:
$megabytes $bytes / (1024 1024);
$megabytes number_format($megabytes2); // add commas and only 2 dec places 
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 09:30 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04920 seconds
  • Memory Usage 2,305KB
  • Queries Executed 23 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (5)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (9)postbit
  • (10)postbit_onlinestatus
  • (10)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete