PDA

View Full Version : PHP Functions in postbit?


Mink_
01-09-2005, 06:16 PM
Alright, this question might have been answered before, or it might be obvious... either way, go easy on me. I'm a bit new to this.

How might one go about running a php function inside of the postbit?
I have a tested and working function inside of functions.php that I want to call into my postbit that I'll post hee, just for the hell of it:

This was added after the comments at the end of functions.php with info on when the file was downloaded and such:

class rpgstats
{
function showstats($userid)
{
$question = "SELECT *
FROM inferno_user
WHERE rid = $userid
ORDER BY rid DESC
LIMIT 1";
$query = mysql_query($question);
while($themember = mysql_fetch_object($query))
{

// Steal variables from Inferno ;)

$hp = $themember->hp;
$hpm = $themember->hpm;
$hpa = $hp/$hpm;
$hpa = $hpa*100;

$themember->hpd = $hpa;

$mp = $themember->mp;
$mpm = $themember->mpm;
$mpa = $mp/$mpm;
$mpa = $mpa*100;

$themember->mpd = $mpa;

$def = $themember->def;
$defm = $hpm;
$defa = $def/$defm;
$defa = $defa*100;

$themember->defd = $defa;

$str = $themember->str;
$strm = $hpm;
$stra = $str/$strm;
$stra = $stra*100;

$themember->strd = $stra;

if($themember->strd > 100) {
$themember->strd=100;
}

if($themember->defd > 100) {
$themember->defd=100;

echo"
<div class='userinfo' align='left'><img src='Inferno/bars/bar_red.gif' width='{$themember->hpd}%' height='16' alt='HP ({$themember->hp}/{$themember->hpm})'></div>
<div class='userinfo' align='left'><img src='Inferno/bars/bar_blue.gif' width='{$themember->mpd}%' height='16' alt='MP ({$themember->mp}/{$themember->mpm})'></div>
<div class='userinfo' align='left'><img src='Inferno/bars/bar_purple.gif' height='16' width='{$themember->strd}%' alt='STR ({$themember->str})'></div>
<div class='userinfo' align='left'><img src='Inferno/bars/bar_green.gif' height='16' width='{$themember->defd}%' alt='DEF ({$themember->def})'></div>
";

}
}
}
}

$rpg = new rpgstats;

?>

And then, I try to call it in my post bits like so:

{$rpg->showstats($post[postid]);}

Needless to say, it doesn't work. What am I doing wrong? :speechless:
Sorry for being such a newb.

Zachery
01-09-2005, 06:20 PM
Alright, this question might have been answered before, or it might be obvious... either way, go easy on me. I'm a bit new to this.

How might one go about running a php function inside of the postbit?
I have a tested and working function inside of functions.php that I want to call into my postbit that I'll post hee, just for the hell of it:

This was added after the comments at the end of functions.php with info on when the file was downloaded and such:

class rpgstats
{
function showstats($userid)
{
$question = "SELECT *
FROM inferno_user
WHERE rid = $userid
ORDER BY rid DESC
LIMIT 1";
$query = mysql_query($question);
while($themember = mysql_fetch_object($query))
{

// Steal variables from Inferno ;)

$hp = $themember->hp;
$hpm = $themember->hpm;
$hpa = $hp/$hpm;
$hpa = $hpa*100;

$themember->hpd = $hpa;

$mp = $themember->mp;
$mpm = $themember->mpm;
$mpa = $mp/$mpm;
$mpa = $mpa*100;

$themember->mpd = $mpa;

$def = $themember->def;
$defm = $hpm;
$defa = $def/$defm;
$defa = $defa*100;

$themember->defd = $defa;

$str = $themember->str;
$strm = $hpm;
$stra = $str/$strm;
$stra = $stra*100;

$themember->strd = $stra;

if($themember->strd > 100) {
$themember->strd=100;
}

if($themember->defd > 100) {
$themember->defd=100;

echo"
<div class='userinfo' align='left'><img src='Inferno/bars/bar_red.gif' width='{$themember->hpd}%' height='16' alt='HP ({$themember->hp}/{$themember->hpm})'></div>
<div class='userinfo' align='left'><img src='Inferno/bars/bar_blue.gif' width='{$themember->mpd}%' height='16' alt='MP ({$themember->mp}/{$themember->mpm})'></div>
<div class='userinfo' align='left'><img src='Inferno/bars/bar_purple.gif' height='16' width='{$themember->strd}%' alt='STR ({$themember->str})'></div>
<div class='userinfo' align='left'><img src='Inferno/bars/bar_green.gif' height='16' width='{$themember->defd}%' alt='DEF ({$themember->def})'></div>
";

}
}
}
}

$rpg = new rpgstats;

?>

And then, I try to call it in my post bits like so:

{$rpg->showstats($post[postid]);}

Needless to say, it doesn't work. What am I doing wrong? :speechless:
Sorry for being such a newb.
You'll need to put it in functions_showthread mostlikely

Mink_
01-09-2005, 07:22 PM
Well, I'm pretty sure functions.php is included globally. To test that, I stuck echo"test"; in there, and then until I removed it, it showed the text "test" on every page in my forum. I feel kind of stupid now, anyway. I forgot to post why it didn't work (duh)

See the problem is, when I put that into my templates, I get something like "Unexpected ( on the line that you edited. We want }" :P

Zachery
01-09-2005, 07:52 PM
Well, I'm pretty sure functions.php is included globally. To test that, I stuck echo"test"; in there, and then until I removed it, it showed the text "test" on every page in my forum. I feel kind of stupid now, anyway. I forgot to post why it didn't work (duh)

See the problem is, when I put that into my templates, I get something like "Unexpected ( on the line that you edited. We want }" :P
Yes, but there is a foreach loop for every user done to display each postbit.

sabret00the
01-09-2005, 07:56 PM
class rpgstats
{
function showstats($userid)
{
$question = $DB_site->query("
SELECT *
FROM inferno_user
WHERE rid = $userid
ORDER BY rid DESC
LIMIT 1
");
while($themember = $DB_site->fetch_array($question))
{

// Steal variables from Inferno ;)

$hp = $themember->hp;
$hpm = $themember->hpm;
$hpa = $hp/$hpm;
$hpa = $hpa*100;

$themember->hpd = $hpa;

$mp = $themember->mp;
$mpm = $themember->mpm;
$mpa = $mp/$mpm;
$mpa = $mpa*100;

$themember->mpd = $mpa;

$def = $themember->def;
$defm = $hpm;
$defa = $def/$defm;
$defa = $defa*100;

$themember->defd = $defa;

$str = $themember->str;
$strm = $hpm;
$stra = $str/$strm;
$stra = $stra*100;

$themember->strd = $stra;

if($themember->strd > 100)
{
$themember->strd=100;
}

if($themember->defd > 100)
{
$themember->defd=100;
}

$display[rpgdata] = "
<div class='userinfo' align='left'><img src='Inferno/bars/bar_red.gif' width='{$themember->hpd}%' height='16' alt='HP ({$themember->hp}/{$themember->hpm})'></div>
<div class='userinfo' align='left'><img src='Inferno/bars/bar_blue.gif' width='{$themember->mpd}%' height='16' alt='MP ({$themember->mp}/{$themember->mpm})'></div>
<div class='userinfo' align='left'><img src='Inferno/bars/bar_purple.gif' height='16' width='{$themember->strd}%' alt='STR ({$themember->str})'></div>
<div class='userinfo' align='left'><img src='Inferno/bars/bar_green.gif' height='16' width='{$themember->defd}%' alt='DEF ({$themember->def})'></div>
";

}
}
}

$rpg = $new_rpgstats;

try that

Mink_
01-09-2005, 09:22 PM
EDIT: I managed to do it, after... spending the whole day messing around. But, on the bright side, now I know how to do that sort of thing :devious:

Thanks alot for your help guys. If anyone wants the code (for displaying Inferno Lite stats in your posts), PM me and I'll ask Zero Tolerance if I can give it out.