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

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
    L'avatar di pxy
    pxy
    pxy non è connesso Utente
    Data registrazione
    26-12-2008
    Messaggi
    192

    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.
    -- The Mentor
    "You may stop this individual, but you can't stop us all... after all, we're all alike"

  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
    L'avatar di pxy
    pxy
    pxy non è connesso Utente
    Data registrazione
    26-12-2008
    Messaggi
    192

    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|
    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 18.27.25
    roadpvp likes this.
    -- The Mentor
    "You may stop this individual, but you can't stop us all... after all, we're all alike"

  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 21.26.08

  6. #6
    L'avatar di pxy
    pxy
    pxy non è connesso Utente
    Data registrazione
    26-12-2008
    Messaggi
    192

    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.
    -- The Mentor
    "You may stop this individual, but you can't stop us all... after all, we're all alike"

  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
  •