Jump to content

Recommended Posts

Posted

Hello Ladies. I want to share my create Max Online PHP Script. I think many of you search this and can't find. So let's start:

 

create maxonline.sql and write

 

/*
MySQL Data Transfer
Source Host: localhost
Source Database: l2jdb
Target Host: localhost
Target Database: l2jdb
Date: 21.08.2010 14:10:39
*/

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for maxonline
-- ----------------------------
DROP TABLE IF EXISTS `maxonline`;
CREATE TABLE `maxonline` (
  `MaxOnline` text
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- ----------------------------
-- Records 
-- ----------------------------
INSERT INTO `maxonline` VALUES ('1');

 

Next execute this sql file in Navicat.

 

now create in root directory of site maxonline.php and write

 

<?php 
$mysql_host="localhost";    // MySQL Host             [localhost] 
$mysql_port="3306";            // MySQL Port                              [3306] 
$mysql_db="l2jdb";            // MySQL Database    [l2jdb] 
$mysql_login="root";        // MySQL User                             [root]     
$mysql_password="master";        // MySQL Password                            [root] 
$link = mysql_connect($mysql_host, $mysql_login, $mysql_password) or die("<br>Could not connect: " .mysql_error()); 
@mysql_select_db($mysql_db, $link); 
?> 
<? 
$sql = mysql_query("SELECT count(*) FROM characters WHERE online = 1") or die("Invalid query: " .mysql_error()); 
    $playsonline = mysql_result($sql, 0, 0);

$sql = mysql_query("SELECT maxonline FROM maxonline") or die("Invalid query: " .mysql_error()); 

    $playsmaxonline = mysql_result($sql, 0, 0); 

if($playsmaxonline < $playsonline)
{ mysql_query("UPDATE maxonline SET maxonline='$playsonline'") or die("Invalid query: " .mysql_error());  }



?> 
<?php echo $playsmaxonline; ?>

 

then include this file in your template :)

 

Credits to me

  • 3 weeks later...
  • 5 months later...
  • 3 weeks later...
Posted

Why do you need a whole table just to get the max online users? Why just using plain text on it.

Like GetOnlinePlayers example: 20 and set it like 20/500 (max online: 500).

No offence just saying :) because too many database connection first will slow the database + will slow the website.

 

Oups now see it old topic :S

  • 4 months later...
Posted

To be honest, this script is a nightmare from performance standpoint. Getting online player count EVERY time, when the page loads? I don't think so. It's much better to make it a cron job and execute it every minute or so. Only 60 queries per hour. And as ~LoL~ZozOQ stated: don't use mysql for this task. A plain text file would do just fine.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...