The Arcive of vBulletin Modifications Site. |
|
|
#1
|
|||
|
|||
|
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>";
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! |
|
#2
|
|||
|
|||
|
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 | ||
|
#3
|
|||
|
|||
|
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! |
![]() |
|
|
| X vBulletin 3.8.12 by vBS Debug Information | |
|---|---|
|
|
More Information |
|
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|