Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 12-09-2011, 10:51 PM
ZacFields ZacFields is offline
 
Join Date: Nov 2010
Posts: 20
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Widget to Show uCash Leaders

Hi All,

I've written some code (my first ever SQL/PHP code write, actually) that simply takes each users' Ucash balance and displays them in descending order, stopping at the 20th ranked person.

Running this code directly from a PHP file on my site works great, but I'm trying to get it into a CMS widget and I'm having a little trouble with the concept of using the $output variable rather than echo. Obviously just changing every instance of "echo" to "$output" doesn't work, what am I doing wrong? Here is the code raw:

Code:
$user=$_POST['user'];
$username=$_POST['username'];
$ucash=$_POST['ucash'];



$query = "SELECT * FROM `user` ORDER BY `user`.`ucash` DESC";
$result=mysql_query($query);
$num="20";


mysql_close();


echo "<b>Vcash Leaderboard</center></b><br><br>";
?>
<table border=0>
<tr><td><b>Username</b></td><td><b>vCash</b></td></tr>
<?
$i=0;
while ($i < $num) {


$rank=$i+1;

$username=mysql_result($result,$i,"username");
$ucash=mysql_result($result,$i,"ucash");
?>


<tr><td><?echo "$rank. $username"; ?> </td>
<td>$<?echo ROUND("$ucash"); ?> </td> </tr>




<?
$i++;
}


echo "</table>";
I'm feeling like it's something very basic that I'm missing. I'm proud of myself for doing the research that allowed me to write the code in the first place, but this $output stuff has thrown a curveball at me and I guess I'm not just understanding the concept.

Does anyone have any pointers on what I need to change in this code to make it work in the php direct execution widget? Essentially, when I paste this code in exactly as it is, it runs the script just fine... but it displays at the top of the page above the header.

--------------- Added [DATE]1323475015[/DATE] at [TIME]1323475015[/TIME] ---------------

Whoops, can somebody move this to the VB4 programming section? My apologies!
Reply With Quote
  #2  
Old 12-10-2011, 09:40 AM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I think you were close with the $output thing, you should just be able to replace each echo with "$output .=", like

Code:
$output .= "<b>Vcash Leaderboard</center></b><br><br>";

You'll also need to change the part where you use ?> and <? around some html to be a string constant instead, and then assign it to $output the same way, like

Code:
$output .= "<tr><td>$rank$username</td>
<td>$" . ROUND($ucash) . "</td> </tr>";

If you had a lot of code you could also surround it with ob_start() and ob_end_clean() to buffer the output, but you only have a few lines so you might as well make the changes to assign to $output.
Reply With Quote
Благодарность от:
ZacFields
  #3  
Old 12-10-2011, 04:46 PM
ZacFields ZacFields is offline
 
Join Date: Nov 2010
Posts: 20
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

kh99 - thank you so much. I guess I was just using the output function wrong (I wasn't putting the period in front of it and I think I was messing up the apostrophes and semicolon), but your example helped and I think I've got it working now!

Again, this was my very first raw PHP/SQL code write. Through research I was able to write the code, but my understanding of what I'm writing is still a little fuzzy. Thanks again!
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 02:33 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03473 seconds
  • Memory Usage 2,188KB
  • Queries Executed 13 (?)
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
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (3)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (3)post_thanks_box
  • (1)post_thanks_box_bit
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (3)post_thanks_postbit_info
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)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_postinfo_query
  • fetch_postinfo
  • 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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete