Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[TuT] Rankingi PHP


Rekomendowane odpowiedzi

Opublikowano

Witam Dzisiaj dam wam skrypty do rankingów Graczy, Gildii

"Drobna Poprawka w wyświetlaniu Imperiów, dodałem download skryptów,

więc jak ktoś nie będzie wiedział jak dodać to sobie pobierze i wgra."

Oto co potrzebujemy:

Plik konfiguracyjny config.php


<?php
$mysql_host = "IP"; //Adres IP Serwera
$mysql_user = "TLOIAN<3"; //Użytwkonik bazy danych
$mysql_pass = "NE PODAM :D"; // hasło bazy danych


mysql_connect($mysql_host, $mysql_user, $mysql_pass) OR
die("Błąd Połączenia<br>Error: ".mysql_error());
?>

 


Ranking Graczy:

 


<?php
include_once("config.php"); //Plik do połączenia z mysql
$database = mysql_select_db("player"); //nazwa bazydanych
$query = mysql_query("SELECT * FROM player WHERE name NOT LIKE '[%]%' ORDER BY level desc limit 100");
echo"<tr>";
echo "<table cellpadding=\"0\" cellspacing=\"1\" border=\"0\" width=100%>";
echo "<tr>";
echo " <td class='gora' align='center'> # </td> ";
echo " <td class='gora' align='center' > Nazwa </td>";
echo " <td class='gora' align='center'> Klasa </td> ";
echo " <td class='gora' align='center'> Poziom </td> ";
echo " <td class='gora' align='center'> Imperium </td>";
echo "</tr>";
$i = $poz+1;
while($player = mysql_fetch_array($query))
if($player["id"] != 273) {
echo "<tr>";
echo "<td class='dol' align='center'> ".$i." </td>";
echo "<td class='dol' align='center'> ".$player["name"]." </td>";
echo "<td class='dol' align='center'>";
if($player['job'] == 0) {
echo "Woj M";
}
elseif($player['job'] == 4) {
echo "Woj K";
}
if($player['job'] == 1) {
echo "Ninja K";
}
elseif($player['job'] == 5) {
echo "Ninja M";
}
if($player['job'] == 2) {
echo "Sura M";
}
elseif($player['job'] == 6) {
echo "Sura K";
}
if($player['job'] == 3) {
echo "Szaman K";
}
elseif($player['job'] == 7) {
echo "Szaman M";
}
echo "</td>";
echo "<td class='dol' align='center'>".$player["level"]." </td>";
$query2 = mysql_query("SELECT * FROM player_index WHERE id LIKE '$player[account_id]'");
while($player2 = mysql_fetch_array($query2))
if($player2['empire'] == 1) {
echo "<td class='dol' align='center'>Czerwoni</td>";
}
elseif($player2['empire'] == 2) {
echo "<td class='dol' align='center'>Zółci</td>";
}
else {
echo "<td class='dol' align='center'>Niebiescy</td>";
}
$i++;
}
$rs=@mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM player "));
$num=$rs[0];
echo "</tr>";
echo "</table>";
?>

 



Ranking Gildii:

 



<?php
include_once("config.php"); //Plik do połączenia z mysql
$database = mysql_select_db("player"); //nazwa bazydanych
$query = mysql_query("SELECT * FROM guild WHERE name NOT LIKE 'Admin' ORDER BY ladder_point desc limit 100"); //konfiguracja ilość gildi, jaką ma pomijać
echo"<tr>";
echo "<table cellpadding=\"0\" cellspacing=\"1\" border=\"0\" width=100%>";
echo "<tr>";
echo " <td class='gora' align='center'> # ";
echo " <td class='gora' align='center' > Nazwa </td>";
echo " <td class='gora' align='center' > Poziom </td>";
echo " <td class='gora' align='center'> Wygrane </td> ";
echo " <td class='gora' align='center'> Przegrane </td> ";
echo " <td class='gora' align='center'> PKT </td>";
echo "</tr>";
$i = $poz+1;
while($guild = mysql_fetch_array($query))
if($guild["id"] != 273) {
echo "<tr>";
echo "<td class='dol' align='center'>".$i." </td>";
echo "<td class='dol' align='center'> ".$guild["name"]." </td>";
echo "<td class='dol' align='center'> ".$guild["level"]." </td>";
echo "<td class='dol' align='center'> ".$guild["win"]." </td>";
echo "<td class='dol' align='center'> ".$guild["loss"]." </td>";
echo "<td class='dol' align='center'> ".$guild["ladder_point"]." </td>";
$i++;
}
$rs=@mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM guild "));
$num=$rs[0];
echo "</tr>";
echo"</table>";
?>


Do pliku CSS [ Wygląd Tabelki ]



.gora {
border: 1px solid #d6ac5c; /*Grubość obramowania, kolor*/
color: #FAEBD7; /* Kolor Tekstu*/
padding:5px; /*przesunięcie w dół*/
background: rgba(221, 196, 136, 0.2); /*Kolor wypełnienia w RGB*/
margin-bottom: 3px; /*Margines Dolny*/
}
.dol {
border-bottom: 1px dashed #d6ac5c; /*Grubość obramowania, kolor*/
color: #CDC0B0/* Kolor Tekstu*/
padding:3px; /*przesunięcie w dół*/
background: rgba(221, 196, 136, 0.07); /*Kolor wypełnienia w RGB*/
margin-bottom: 3px; /*Margines Dolny*/
}

 

Jeżeli ktoś ma jakieś problemy z dodaniem albo coś niech pisze do mnie na PW, lub tutaj chętnie pomogę, Jak będę miał troszkę czas u przebuduję skrypt tak aby można było dzielić ranking po 50 lub po 100, oraz dodam dokładny ranking na poszczególnego gracza.

Mam nadzieję ,że się to wam przyda.

katalog.rar

1390144171-U592769.png


Opublikowano

Niby czemu ? Nie podoba ci się to DO WIDZENIA. Nie przyda ci się to nie, są ludzie którzy nie umieją pisać w php i potrzebują, więc ja dodałem prosty, estetyczny ranking.

 

 

Estetyczny ??? haha <3

Projekt FantasticWorld :

- Pliki [||........]

- Strona [.........]

- Klient [|||.......]

---------------------

Opublikowano

Nic specjalnego, w każdej niemieckiej stronie możesz to zobaczyć. Dodaj jakieś dodatki od siebie typu profile gildii, możliwość dodania opisu dla lidera gildii, pozycje w rankingu.

 

Zrób coś w ten deseń : http://www.tiveria.pl/gildia-22625/

http://www.tiveria.pl/postac-65740824/

 

 

Jak na razie nie zabłysnąłeś.

 

Rozbudujesz.. Właśnie, ale po co wstawiać skrypt który jest w każdej niemieckiej stronie? Rozbuduj i zrób nowy temat. ;)

Opublikowano

Nic specjalnego, w każdej niemieckiej stronie możesz to zobaczyć. Dodaj jakieś dodatki od siebie typu profile gildii, możliwość dodania opisu dla lidera gildii, pozycje w rankingu.

 

Zrób coś w ten deseń : http://www.tiveria.pl/gildia-22625/

http://www.tiveria.pl/postac-65740824/

 

 

Jak na razie nie zabłysnąłeś.

Dopisałem że jak będę miał czas rozbuduję Ranking.

1390144171-U592769.png


Opublikowano

Nic specjalnego, w każdej niemieckiej stronie możesz to zobaczyć. Dodaj jakieś dodatki od siebie typu profile gildii, możliwość dodania opisu dla lidera gildii, pozycje w rankingu.

 

Zrób coś w ten deseń : http://www.tiveria.pl/gildia-22625/

http://www.tiveria.pl/postac-65740824/

 

 

Jak na razie nie zabłysnąłeś.

 

Rozbudujesz.. Właśnie, ale po co wstawiać skrypt który jest w każdej niemieckiej stronie? Rozbuduj i zrób nowy temat. ;)

 

No Tak najlepiej zbesztać jak coś się nie podoba, odrazu gotowca dostać, chcesz to sobie sam napisz ;) Za niedługo rozbuduję ten skrypt i dodam nowe, Racja niemiecka strona :) a potem się dziwić że są włamy na serwer ...

1390144171-U592769.png


  • 4 miesiące temu...
Opublikowano

Tu macie poprawiony ranking graczy ...

 

config.php

 
<?php
 
    define('DBHOST', 'IP LUB LOCALHOST');
    define('DBPORT', ':3306');
    define('DBUSER', 'root');
    define('DBPASS', 'HASŁO');
    
        define('MYSQLCONNECT', mysql_connect(DBHOST.DBPORT, DBUSER, DBPASS);
        
        if(!MYSQLCONNECT) { echo'Błąd połączenia z bazą!'; }
        else { define('SITE_LOAD', TRUE); }
        
?>
 

rankign_graczy.php

 

<?php
 
 include_once("config.php"); //Plik do połączenia z mysql
 
  if(defined(SITE_LOAD) == TRUE) {
 
    $job = array();
    $job[0] = 'Woj M';
    $job[1] = 'Ninja K';
    $job[2] = 'Sura M';
    $job[3] = 'Szaman K';
    $job[4] = 'Woj K';
    $job[5] = 'Ninja M';
    $job[6] = 'Sura K';
    $job[7] = 'Szaman M';
 
    $query = mysql_query("SELECT account_id,name,job,level FROM player.player WHERE name NOT LIKE '[%]%' ORDER BY level DESC LIMIT 100");
    
    echo'<tr>';
    echo'<table cellpadding="0" cellspacing="1" border="0" width="100%">';               
    echo'<tr>';
    echo'<td class="gora" align="center">#</td>';
    echo'<td class="gora" align="center">Nazwa</td>';
    echo'<td class="gora" align="center">Klasa</td>';
    echo'<td class="gora" align="center">Poziom</td>';
    echo'<td class="gora" align="center">Imperium</td>';
    echo'</tr>';
    
    $i = 1;
    
    while($player = mysql_fetch_array($query)) {
    
        echo'<tr>';
        echo'<td class="dol" align="center">'.$i.'</td>';
        echo'<td class="dol" align="center">'.$player['name'].'</td>';  
        echo'<td class="dol" align="center">'.$job[$player['job']].'</td>';        
        echo'<td class="dol" align="center">'.$player['level'].'</td>';    
        
        $accID = $player['account_id'];
        
        $query2 = mysql_query("SELECT empire FROM player.player_index WHERE id='$accID'");
        $emq = mysql_fetch_array($query2);
        
            if($emq['empire'] == 1) { echo'<td class="dol" align="center">Czerwoni</td>'; }                            
        elseif($emq['empire'] == 2) { echo'<td class="dol" align="center">Zółci</td>'; }
        else                        { echo'<td class="dol" align="center">Niebiescy</td>'; }
 
        echo "</tr>";
        echo "</table>";
        
        $i++;
        
    }
    
  }
    
?>
 
ps. gdzieś mogłem popełnić mały błąd, ponieważ naprawiałem to na szybko..

 

Mam pytanie a jak zrobić raking top 5 aby wyświetlało tylko 5 najlepszych graczy ?

po LIMIT w query wpisujesz 5

$query = mysql_query("SELECT * FROM player WHERE name NOT LIKE '[%]%' ORDER BY level desc LIMIT 5");

lub

$query = mysql_query("SELECT account_id,name,job,level FROM player.player WHERE name NOT LIKE '[%]%' ORDER BY level DESC LIMIT 5");

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...