Visualizzazione risultati 1 fino 7 di 7
Like Tree3Likes
  • 1 Post By
  • 1 Post By
  • 1 Post By

Discussione: Php: determinare il dato più alto registrato

  1. #1
    Guest

    Exclamation Php: determinare il dato più alto registrato

    Ciao, ho un server di gioco al quale ho collegato una query che mi dice alcune informazioni in tempo reale dello stato del server. link. Volevo semplicemente creare una nuova riga nella tabella che mostra il numero più alto di giocatori on-line mai registrato (il picco massimo di utenti).

    Grazie

  2. #2
    Guest

    Predefinito

    Servirebbe il codice che usi per estrapolare le statistiche attualmente (sia php che sql) cosi da fare le aggiunte necesarie ;) che senza codice è un attimo difficile :P
    roadpvp likes this.

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da pxy Visualizza messaggio
    Servirebbe il codice che usi per estrapolare le statistiche attualmente (sia php che sql) cosi da fare le aggiunte necesarie ;) che senza codice è un attimo difficile :P
    Ecco il pastebin come da lei richiesto.
    http://pastebin.com/Neph5u5w

  4. #4
    Guest

    Predefinito

    ..
    Lei chi?
    *si volta*
    Guarda che mi offendo se non mi dai del Voi! Eh! Del lei addirittura!!! che plebaglia! :P ! :P ;)


    Scherzo, dammi del tu ti prego <.< mi fai sentire più degli 89 anni che ho.

    Comunque, ho visto che di base estrapoli i dati da un server, per ottenere il record bisognerebbe fare con un databse che ti registra il massimo ogni volta e confronta il dato, ma sinceramente azionare tutto un motore mysql per confrontare un solo dato, mi sembra un esagerazione, quindi ti farò fare tutto con un file .txt

    !
    Partiamo!, allora, difianco allo script che esegui, crea un file .txt che chiamerai record.txt. dopodichè basta che lo rendi eseguibile e modificabile, ovvero settagli i permessi a 770, una volta fatto questo aprilo e scrivi dentro sulla prima riga
    Codice PHP:
    0|0
    poi dopo la riga 90 del tuo script aggiungi questo:
    Codice PHP:

    <?php

    $nome_file
    = "record.txt";
    $recordGiocatori = "Unable to show the record.";

    if(
    $content = file_get_contents($nome_file)) {

    $data = explode("|", $content);
    $recordGiocatori = $data[0].$data[1];

    if(
    $online > $data[0]) {

    $recordGiocatori = $online.' il '.date('d/m/Y').' alle '.date('H:i');
    $sorgente = fopen($nome_file, 'w+');
    fwrite($sorgente, $online.'| il '.date('d/m/Y').' alle '.date('H:i'));
    fclose($sorgente);

    }


    } else {
    echo
    "can't open file";
    }

    ?>
    <tr>
    <td><b>Record</b></td>
    <td><?php echo $recordGiocatori;?></td>
    </tr>
    e dovrebbe essere a posto ;)

    ps, qua sotto ti riposto tutto cosi se hai dubbi copi e incolli e dovrebbe andare ;)

    Codice PHP:
    <?php
    //ini_set("display_errors", 1);
    //ini_set("track_errors", 1);
    //ini_set("html_errors", 1);
    //error_reporting(E_ALL);
    $SERVER_IP = "mc.roadpvp.it"; //IP del server
    $SERVER_PORT = "25565"; //Porta da pingare
    $QUERY_PORT = "25565"; //Porta del query.port="".
    $HEADS = "3D"; //"normal" oppure "3D"
    $SHOW_FAVICON = "on"; //"off" / "on"
    $TITLE = "RoadPvP";
    $TITLE_BLOCK_ONE = "Info";
    $TITLE_BLOCK_TWO = "Giocatori on-line";
    //Fine config
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    $ping = json_decode(file_get_contents('http://api.minetools.eu/ping/' . $SERVER_IP . '/' . $SERVER_PORT . ''), true);
    $query = json_decode(file_get_contents('http://api.minetools.eu/query/' . $SERVER_IP . '/' . $QUERY_PORT . ''), true);
    //* DEBUG AREA
    //var_dump($serverdata);
    //echo "<br>";echo "<br>";
    //var_dump($userlistserver);
    //echo "<br>";echo "<br>";
    //* DEBUG AREA
    //Array dati
    if(empty($ping['error'])) {
    $version = $ping['version']['name'];
    $online = $ping['players']['online'];
    $max = $ping['players']['max'];
    $motd = $ping['description'];
    $favicon = $ping['favicon'];
    }
    if(empty(
    $query['error'])) {
    $playerlist = $query['Playerlist'];
    }
    $array_list = $data_list[$SERVER_IP]['player']['list'];
    $queryerror = "false";
    if(isset(
    $data_list['error']) || !empty($data_list['error']) ) {
    $queryerror = "true";
    }
    $haserror = "false";
    if(
    $data_general['status'] != "true") {
    $haserror = "true";
    }
    ?>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title><?php echo htmlspecialchars($TITLE); ?></title>
    <link rel="stylesheet" href="https://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.no-icons.min.css">
    <link href='http://fonts.googleapis.com/css?family=Lato:300,400' rel='stylesheet' type='text/css'>
    <link href="https://netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet">
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
    <script type="text/javascript" src="https://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
    <script language="javascript">
    jQuery(document).ready(function(){
    $("[rel='tooltip']").tooltip();
    });
    </script>
    <style>
    /*Custom CSS*/
    body {
    font-family: 'Lato', sans-serif !important;
    }
    </style>
    </head>
    <body>
    <div class="container">
    <h1><a href="http://roadpvp.altervista.org"><?php echo htmlspecialchars($TITLE); ?></a></h1><hr>
    <div class="row">
    <div class="span4">
    <h3><?php echo htmlspecialchars($TITLE_BLOCK_ONE); ?></h3>
    <table class="table table-striped">
    <tbody>
    <tr>
    <td><b>IP</b></td>
    <td><?php echo $SERVER_IP; ?></td>
    </tr>
    <?php if(empty($ping['error'])) { ?>
    <tr>
    <td><b>Versione</b></td>
    <td><?php echo $version; ?></td>
    </tr>
    <?php } ?>
    <?php
    if(empty($ping['error'])) { ?>
    <tr>
    <td><b>Giocatori</b></td>
    <td><?php echo "".$online." / ".$max."";?></td>
    </tr>
    <?php } ?>

    <?php

    $nome_file
    = "record.txt";
    $recordGiocatori = "Unable to show the record.";

    if(
    $content = file_get_contents($nome_file)) {

    $data = explode("|", $content);
    $recordGiocatori = $data[0].$data[1];

    if(
    $online > $data[0]) {

    $recordGiocatori = $online.' il '.date('d/m/Y').' alle '.date('H:i');
    $sorgente = fopen($nome_file, 'w+');
    fwrite($sorgente, $online.'| il '.date('d/m/Y').' alle '.date('H:i'));
    fclose($sorgente);

    }


    } else {
    echo
    "can't open file";
    }

    ?>
    <tr>
    <td><b>Record</b></td>
    <td><?php echo $recordGiocatori;?></td>
    </tr>


    <tr>
    <td><b>Stato</b></td>
    <td><?php if(empty($ping['error'])) { echo "<i class=\"icon-ok-sign\"><strong><p style='color:green'></i> Online</strong></p>"; } else { echo "<i class=\"icon-remove-sign\"></i> <strong><p style='color:red'><Online</strong>";}?></td>
    </tr>
    <?php if(empty($ping['error'])) { ?>
    <?php
    if(!empty($favicon)) { ?>
    <?php
    if ($SHOW_FAVICON == "on") { ?>
    <tr>
    <td><b>Favicon</b></td>
    <td><img src='<?php echo $favicon; ?>' width="32px" height="32px" style="float:left;"/></td>
    </tr>
    <?php } ?>
    <?php
    } ?>
    <?php
    } ?>
    </tbody>
    </table>
    </div>
    <div class="span8">
    <h3><?php echo htmlspecialchars($TITLE_BLOCK_TWO); ?></h3>
    <?php
    if($HEADS == "3D") {
    $url = "https://cravatar.eu/helmhead/";
    } else {
    $url = "https://cravatar.eu/helmavatar/";
    }
    if(empty(
    $query['error'])) {
    if(
    $playerlist != "null") {
    foreach (
    $playerlist as $player) { ?>
    <a data-placement="top" rel="tooltip" style="display: inline-block;" title="<?php echo $player;?>">
    <img src="<?php echo $url.$player;?>/50" size="40" width="40" height="40" onmouseover="this.filters.alpha.opacity='100'" onmouseout="this.filters.alpha.opacity='50'" style="FILTER: alpha(opacity=50); moz-opacity: 50%; width: 40px; height: 40px; margin-bottom: 5px; margin-right: 5px; border-radius: 3px; "/></a>
    <?php }
    } else {
    echo
    "<div class=\"alert\"> Nessun giocatore online</div>";
    }
    } else {
    echo
    "<div class=\"alert\"> Abilita la query nel file server.properties!</div>";
    }
    ?>
    </div>
    </div>
    </div>
    </body>
    </html>
    Ultima modifica di pxy : 08-09-2014 alle ore 17.27.25
    roadpvp likes this.

  5. #5
    Guest

    Predefinito

    Questo codice mostra essenzialmente i giocatori online e l'orario nel quale il dato è stato registrato!
    Ultima modifica di roadpvp : 08-09-2014 alle ore 20.26.08

  6. #6
    Guest

    Predefinito

    Mmh, lo script non riece a scrivere sopra il file txt per registrare il valore massimo, quindi ogni volta per lui è un record di giocatori, dato che nel file il numero record di giocatori è 0.

    Allora andando a naso, il file viene letto ma non scritto, quindi non è un errore di path, rileva che effettivamente che deve registrare il record, sennò riporterebbe 0 0, ma non riesce a scrivere il file... uhmm...

    Mi viene solo in mete di assicurarsi che ci siano i permessi corretti sul .txt :/
    roadpvp likes this.

  7. #7
    Guest

    Predefinito

    Benissimo, adesso funziona. Ho dovuto applicare i permessi 777 e non 770 (non so perchè ma ho fatto così) al file record.txt, quindi ha incominciato a funzionare.

    Grazie mille per la risposta!

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •