Jump to content

Recommended Posts

Posted

 

 

config.php

<?php
$database_info = array(
	'host' => 'localhost',  
	'user' => 'root',
	'password' => 'some_password',
	'l2jdb' => 'l2jdb'
);


?>

 

databaseinfo.php

<?php


@mysql_connect($database_info['host'], $database_info['user'], $database_info['password']) or die(mysql_error());
@mysql_select_db($database_info['l2jdb']) or die(mysql_error());
?>

 

toppvp.php

<?php
// Connection
include 'config.php';
include 'databaseinfo.php';
?>

<?php
echo "<table>";

$query = "SELECT * FROM characters WHERE accesslevel = 0 ORDER BY pvpkills DESC limit 10"; //change 10 to whatever amount you want to show on your website.
//Connection CMD
$result = mysql_query($query) or die(mysql_error());

// loops results
while ($row = mysql_fetch_array($result)) 

{
//Adding Variables like a boss!
$name = $row['char_name'];
$level = $row['level'];
$pvpscore = $row['pvpkills']; 
$pkscore = $row['pkkills'];



// Inserting data into the table
echo "

<tr>
<td>$name</td>
<td>$level</td>
   <td>$pvpscore</td>
<td>$pkscore</td>
</tr>";

}

echo "</table>";

//closing mysql connection
mysql_close();
?>

 

You will need to add the HTML table yourself, it is all set up though, it displays as NAME LEVEL PVP PK

 

Enjoy.

 

Posted

Oh by the way, if you are going to use this, make sure to create a new account that can only READ from the tables and not write, also turn off Global Variables because it will be prone to SQL injection.

 

Using the admin account for a php script is a bit of a stupid idea in the first place ::)

Posted

This is quite a basic script, but it can cause huge bandwidth spikes. Let's talk about optimization and assume that there's 10000 views per hour. That means that you resend that query 10000 times an hour. That makes it 240000 requests per day. But would you believe that you can do the same thing only with 96 query requests per day? That would take a huge load off the server and might increase the performance. Here's how I would do it:

I'd use the same script, but set it up for a cron job to execute it automatically every 15 minutes but instead of outputting the data (and destroying it afterward), I'd save it to a simple text file and on each page request acces it with fopen() function, loop through the file and parse strings with $array_name = explode(" ",$string); function. Data output would be the same. I'd do the same with TOP 200 script, account creation and anything that would create a huge load on the server.

Cheers.

  • 1 month later...
  • 8 months later...
Posted

i have problem

Access denied for user 'a6217703'@'localhost' (using password: NO)

 

I have no idea what is wrong :/

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock