Autor Zpráva
THANATOS
Profil
Zdravím, som tu prvý krát tak ak som niečo prehliadol tak sa vopred ospravedlnujem. Mám kód, ktorým vypisujem z hry stav kto má VIP účet v hre a sú tam ešte nejaké štatistiky. Súbor je príklad newbie.php a údaje sa ukladajú do list1.txt ktoré sa potom vypisujú po otvorení newbie.php problém je že vypisuje zoznam len keď je daný hráč online tak sa to aktualizuje. Ja by som potreboval vypísať a uložiť hráča keď sa pripojí na server a keď sa odpojí aby to zostalo uložené v tom súbore a vždy ked sa pripojí tak sa to len aktualizovalo.

súbor (newbie.php) vyzerá takto vypisuje len hráčov online a ja to potrebujem uložiť do list.$i.txt to spravené mám len potrebujem aby to neprepisovalo aj keď sa hráč odpojí aby to ukazovalo aj offline a neviem si s tým rady
<ul>
<li>
<?php
echo "<span style=current><a href='/staty/newbie.php'>Newbie</a></span>";
echo "&nbsp;<a href='/staty/fun.php'><span style='current'>Fun</span></a>";
echo "&nbsp;<a href='/staty/normal.php'><span style=current>Normal</span></a>";
echo "&nbsp;<a href='/staty/normal2.php'><span style='current'>Normal 2</span></a>";
echo "&nbsp;<a href='/staty/hardcore.php'><span style='current'>Hardcore</span></a>";
echo "&nbsp;<a href='/staty/pvp.php'><span style='current'>PvP</span></a>";
?>
</li></ul>

<?php
/* Settings start */
$bans_per_page = 15;
$number_of_files = 1;
/* Settings end */

if (isset($_GET['page']) && $_GET['page'] == 1) {
    header('Location: ' . basename($_SERVER['PHP_SELF']));
}

$rows = [];
for ($i = 1; $i <= $number_of_files; $i++) {
    $path =__DIR__.'/list'. $i .'.txt'; 
    if (file_exists($path)) {
        $contents = file_get_contents($path);
        $_rows = explode('<br>', nl2br($contents, FALSE));
        foreach ($_rows as $item) {
            $ex = explode('::', $item);
            if (count($ex) > 1) {
                $ex2 = explode(' ', $ex[0]);
                $rows[] = [
                    'zalozen' => $ex[0],
                        'nick' => $ex[1],
                    'vip' => $ex[2],
                    'clan' => $ex[3],
                    'cash' => $ex[4],
                    'hracikill' => $ex[5],
                    'smrti' => $ex[6],
                    'mutanti' => $ex[7],
                    'zvirata' => $ex[8],
                ];
            }
        }
    }
}

usort($rows, function($a, $b) {
    return strcmp($a['zalozen'], $b['zalozen']);
});

$items_count = count($rows);
$page = !empty($_GET['page']) ? (int) $_GET['page'] : 1;
$array_offset = ($page - 1) * $bans_per_page;
$array_offset_last = $array_offset + 0;

if ($array_offset + $bans_per_page <= $items_count - 1) {
    $array_offset_last = $array_offset + $bans_per_page;
} else {
    $array_offset_last = $items_count - 1;
}

$rows = array_reverse($rows);
?>

<table>
    <tr>
        <td>Datum Založení</td>
        <td>Hráč</td>
        <td>VIP skončí</td>
        <td>Klan</td>
        <td>Peníze</td>
        <td>Zabití hráčů</td>
        <td>Počet smrtí</td>
        <td>K/D ratio</td>
        <td>Zabití mutantů</td>
        <td>Zabití zvířat</td>
    </tr>
    <?php
      
    for ($i = $array_offset; $i <= $array_offset_last; $i++) {
        ?>
        <tr>
            <td><?php echo $rows[$i]['zalozen'] ?></td>
            <td><?php echo $rows[$i]['nick'] ?></td>
            <td><?php if (($rows[$i]['vip']) == "01/01/0001 00:00:00") { echo "Tento hráč nemá VIP."; } else { echo "<span style='color:#00FF00; font-weight:bold;'>".($rows[$i]['vip'])."</span>"; } ?></td>
            <td><?php echo $rows[$i]['clan'] ?></td>
            <td><?php echo $rows[$i]['cash'] ?></td>
            <td><?php echo $rows[$i]['hracikill'] ?></td>
            <td><?php echo $rows[$i]['smrti'] ?></td>
            <td><?php echo $hodnota = $rows[$i]['hracikill'] / $rows[$i]['smrti'],1; echo $hodnota?></td>
            <td><?php echo $rows[$i]['mutanti'] ?></td>
            <td><?php echo $rows[$i]['zvirata'] ?></td>
        </tr>
        
    
        
        <?php
        
    }
    

    ?>
    

   
</table>

<ul>
    <?php
    for ($j = 1; $j <= ceil($items_count / $bans_per_page); $j++) {
        $class = $page == $j ? ' class="current"' : '';
        $url = basename($_SERVER['PHP_SELF']) . ($j > 1 ? '?page=' . $j : '');
        ?>
        <li<?php echo $class ?>>
            <a href="<?php echo $url ?>"><?php echo $j ?></a>
        </li>
        <?php
    }
    ?>
</ul>

Moderátor Alphard: Z kódu odmazáno nyní zbytečné CSS.
Micruss
Profil
Na tydle věci jsou dělaný databáze, ne soubory. Takže bych ti poradil, přehoď to na databázi

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0