PDA

View Full Version : Hack Help


BigJohnson
02-20-2003, 10:10 AM
I have this new fields in my user table called QUADS and BIKES

In my getinfo I have them showing statistically.

Quads: 2
Bikes: 5

The counter counts threads made in certain forum ids.

What I want to do is have something showing the average amount of Quad and Bike posts per month.

I only can come up with this.


$qbtime = (time() - $userinfo[joindate]) / 2592000; // Days Joined
if ($qbtime < 1) { // User has been a member for less than one day.
$qbpermonth = "$userinfo[quads]";
} else {
$qbpermonth = sprintf("%.2f",($userinfo[quads] / $qbtime));
}


This only does the monthly average of quads and not quads and bikes combined.

I dont no how to combine both values of quads and bikes and average a monthly value to it.

That what I need help on. I hope someone understands me hehe. :D

Sebastian
02-20-2003, 11:12 AM
you add them with a +
so something like this:

$qbpermonth + $other_variable;
$qbpermonth = $string;

BigJohnson
02-20-2003, 11:16 AM
Well the variable is this.

$userinfo[quads]

and this

$userinfo[bikes]

So how would the code look in full. That is sorta what I am looking for hehe. Thanks for helping.

Sebastian
02-20-2003, 11:21 AM
$qbtime = (time() - $userinfo[joindate]) / 2592000; // Days Joined
if ($qbtime < 1) { // User has been a member for less than one day.
$userinfo[quads] += $userinfo[bikes];
$qbpermonth = "$userinfo[quads]";
} else {
$qbpermonth = sprintf("%.2f",($userinfo[quads] / $qbtime));
}

BigJohnson
02-20-2003, 11:23 AM
I dont see how that would work in any way just by looking at it though?

unless maybe it should be this

$userinfo[quadsandbikes] = $userinfo[quads] + $userinfo[bikes];

I could try that.

Sebastian
02-20-2003, 11:25 AM
huh? now you have $userinfo[quadsandbikes] ???

I missed a = in the code.. i edited it.


this is how adding works, try it in a test file:


<?php

$count = 10;
$more = 23;
$count += $more;

echo "$count";

?>


you get 33. Just as your doing, adding one $variable with another.

BigJohnson
02-20-2003, 11:36 AM
i tried the code you mentioned up a few and it still doesnt work. It only shows the monthly average for just quads.

say quads counter was 5
and bikes counter was 10

the average would be 7.5

It is still not adding both values together as one.

Sebastian
02-20-2003, 11:38 AM
try this.



$qbtime = (time() - $userinfo[joindate]) / 2592000; // Days Joined
if ($qbtime < 1) { // User has been a member for less than one day.
$qbpermonth += $userinfo[quads] + $userinfo[bikes];
} else {
$qbpermonth = sprintf("%.2f",( $qbpermonth / $qbtime));
}

BigJohnson
02-20-2003, 11:39 AM
I understand what you mean by that test thing u told me to do. It works it sasys 33 but the thing is the variables are getting pulled from the database on the board but your variables have values right there in the php already. I don't know if that is causing a conflict though maybe?

Sebastian
02-20-2003, 11:41 AM
did you try the last bit i posted?

BigJohnson
02-20-2003, 11:41 AM
Nope that did not work neither. Same thing. Just showing the average for the quads.

BigJohnson
02-20-2003, 11:43 AM
ya with the last bit u posted i just get average is 0. ;)

Sebastian
02-20-2003, 11:48 AM
lol. Okay try this... I didn't realise the adding was above the } else {


$qbtime = (time() - $userinfo[joindate]) / 2592000; // Days Joined
if ($qbtime < 1) { // User has been a member for less than one day.
$qbpermonth = "$userinfo[quads]";
} else {
$qbpermonth += $userinfo[quads] + $userinfo[bikes];
$qbpermonth = sprintf("%.2f",($qbpermonth / $qbtime));
}

Sebastian
02-20-2003, 11:52 AM
also ... what is the } else { there for? either way all you are doing is getting average right?

I see you are getting info when the user joined, but either way new user or not you want a total caculated?

BigJohnson
02-20-2003, 11:52 AM
nope still not working. Just showing the average for just the quads. hhmm. Is there any other way of adding the 2?

BigJohnson
02-20-2003, 11:54 AM
well i have the else because I when someone has 0 posts for quads the average is not 0 I think. I don't know. It doesnt hurt to have ti anyway so that cannot be the problem.

Sebastian
02-20-2003, 11:57 AM
i am usually good with math ;)
if this doesn't work then maybe Xenon can give it a crack.


$qbpermonth += $userinfo[quads] + $userinfo[bikes];
$qbtime = (time() - $userinfo[joindate]) / 2592000; // Days Joined
if ($qbtime < 1) { // User has been a member for less than one day.
$qbpermonth = $qbpermonth;
} else {
$qbpermonth = sprintf("%.2f",($qbpermonth / $qbtime));
}

BigJohnson
02-20-2003, 11:59 AM
Ya i did that already. You told me to do that before but then u edited ur post. I saw both of the ways u did it hehe. Ya that doesn't neither. Hehe. I guess we can wait for Xenon then hehe. Thanks so much for trying though man. Its the thought that counts.