vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   mysql - sorting and calling help (https://vborg.vbsupport.ru/showthread.php?t=68657)

Tekton 08-24-2004 08:08 AM

mysql - sorting and calling help
 
Basically what I want to do is get the top 7 people with the most 'gold'.

This gives me the top person, but I need a way to get all 7. Any help? Thanks.

PHP Code:

$temp $DB_site->query_first("SELECT username, gold FROM ".TABLE_PREFIX."user ORDER BY gold DESC LIMIT 7 ");
$top_one $temp[username];
$top_one2 $temp[gold]; 


CarCdr 08-24-2004 09:38 AM

Use query rather than query_first, then loop over the results The class DB_site offers the function query_first as a shortcut for a) regular query, b) free mysql result storage, c) return the single row.

Colin F 08-24-2004 09:50 AM

Quote:

Originally Posted by Tekton
Basically what I want to do is get the top 7 people with the most 'gold'.

This gives me the top person, but I need a way to get all 7. Any help? Thanks.

PHP Code:

$temp $DB_site->query_first("SELECT username, gold FROM ".TABLE_PREFIX."user ORDER BY gold DESC LIMIT 7 ");
$top_one $temp[username];
$top_one2 $temp[gold]; 


You might also make that "LIMIT 0, 6"

CarCdr 08-24-2004 10:23 AM

Quote:

Originally Posted by Colin F
You might also make that "LIMIT 0, 6"

What would that achieve Colin? That would return the first 6 rows. LIMIT 0,6 is equivalent to LIMIT 6.

Colin F 08-24-2004 11:49 AM

Quote:

Originally Posted by CarCdr
What would that achieve Colin? That would return the first 6 rows. LIMIT 0,6 is equivalent to LIMIT 6.

really?

I would have thought LIMIT 0,6 would return rows 0 through 6, making the first seven rows. Good to have learned something :)

Dean C 08-24-2004 12:13 PM

Yes Colin, I'm pretty sure what you said is right. LIMIT 0,6 would return the first 7 seven rows.

Tekton 08-24-2004 04:23 PM

Can I get a quick example on how to loop the results, and store them each in SEPERATE variables? Thanks. ^__^;;

Colin F 08-24-2004 04:36 PM

PHP Code:

$winners $DB_site->query("SELECT username, gold FROM ".TABLE_PREFIX."user ORDER BY gold DESC LIMIT 7 "); 
while (
$winner $DB_site->fetch_array($winners))
{
$id++;
$uname "name_".$id;
$ugold "gold_".$id;
${
$uname} = $winner[username]; 
${
$ugold} = $winner[gold];



That should work. you can then use the variables $name_1 - $name_7 as well as $gold_1 - $gold_7

Tekton 08-24-2004 04:42 PM

Hey, wow! Thanks a lot! I'm prolly trying to do something too big as my first home-made hack of sorts, but this is one problem out of the way. Thanks again! :)

CarCdr 08-24-2004 09:04 PM

Quote:

Originally Posted by Dean C
Yes Colin, I'm pretty sure what you said is right. LIMIT 0,6 would return the first 7 seven rows.

It is as I said...

The LIMIT clause can be used to constrain the number of rows returned by the SELECT statement. LIMIT takes one or two numeric arguments, which must be integer constants. With two arguments, the first argument specifies the offset of the first row to return, and the second specifies the maximum number of rows to return.


All times are GMT. The time now is 12:12 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.01298 seconds
  • Memory Usage 1,737KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (3)bbcode_php_printable
  • (4)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete