vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Widget to Show uCash Leaders (https://vborg.vbsupport.ru/showthread.php?t=275289)

ZacFields 12-09-2011 10:51 PM

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!

kh99 12-10-2011 09:40 AM

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.

ZacFields 12-10-2011 04:46 PM

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!


All times are GMT. The time now is 02:13 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.01089 seconds
  • Memory Usage 1,716KB
  • 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_code_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (3)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