Here is the code for my stats area. My problem is figuring out how to call out which users are "staff". Any input would be appreciated.
table membership
member_id (primary)
rank_id
name (unique)
email (unique)
password
status
table rank
rank_id (primary)
rank_name
table useronline
ip
file (primary)
name
timestamp
KEY
// put database connection stuff here
$hostname='localhost';
$user='*****'; //user name for MySQL database
$pass='*****'; //Password for database
$dbase='*****'; //database name
$connection = mysql_connect("$hostname" , "$user" , "$pass") or die ("Can't connect to MySQL");
$db = mysql_select_db($dbase , $connection) or die ("Can't select database.");
// Total # of members!
$s = mysql_query("select * from membership where status='Y'");
$total = mysql_num_rows($s);
echo"Total members: $total";
$timeoutseconds = 180; // seconds for the timeout period
//get the time
$timestamp = time(); // get current time
$timeout = $timestamp-$timeoutseconds;
$ip = $_SERVER['REMOTE_ADDR'];
$file = $_SERVER['PHP_SELF'];
$name = $_COOKIE['name']; // replace with login cookie name
// insert into database
if (!empty($name))
{
$qInsert = "INSERT into useronline (timestamp, ip, file, name) VALUES ('$timestamp','$ip','$file','$name') ";
}
else
{
$qInsert = "INSERT into useronline (timestamp, ip, file, name) VALUES ('$timestamp','$ip','$file','') ";
}
$rsInsert = mysql_query($qInsert);
// now delete old timeout records from the database
$delete = mysql_query("DELETE FROM useronline WHERE timestamp<$timeout");
// now optimize the database
$optimize = mysql_query("OPTIMIZE TABLE `useronline` ");
// now for the display, get the records from the database.
// =========================================
// first get the members records
$mresult = mysql_query("SELECT distinct name FROM useronline WHERE file='$file' and name !='' ");
// now get the non-members records
$result = mysql_query("SELECT distinct ip FROM useronline WHERE file='$file' and name ='' ");
@$user = mysql_num_rows($result);
@$muser = mysql_num_rows($mresult);
// now we display the results
if ($user != 1)
{
echo $user.' Users online.';
}
else
{ echo $user.' User online.'; } // for grammar
echo '<br/>';
if ($muser != 1)
{
echo $muser.' Members online.';
}
else
{ echo $muser.' Member online.'; } // for grammar
// now get the link to the profile for members online
while ($row = mysql_fetch_array($mresult))
{
extract($row);
$qLink = "select id from membership where name='$name' and status='Y'";
$rsLink = mysql_query($qLink);
$linkrow = mysql_fetch_array($rsLink);
extract($linkrow);
// display the list of members online
echo '<br/>';
echo '<br/>';
echo 'Members Online:<a href="member_profile.php?id='.$id.'">'.$name.'</a>, ';
}
$result = mysql_query("SELECT * from membership where status='Y' ORDER BY joindate DESC LIMIT 0,15");
echo mysql_error();
if (mysql_num_rows($result))
while($row = mysql_fetch_array($result)) {
echo"Newest Members: <a href='member_profile.php?id=".$row['member_id']."'>".$row['name']."</a>";
}
The results pull up as:
Total Members : # (which works)
0 Users online.
1 Member online.
# Staff Online. (this is what I want to add.)
Members Online:
Newest Members: