Moj licznik online wyglada tak:
[php:1:7dbedc49ca]<?php
$koniec = date("Y-m-d H:i:s");
$poczatek = time();
$aktywnosc = time()-180;
$sesja = session_id();
$url = $_SERVER['REQUEST_URI'];
$ip = $_SERVER['REMOTE_ADDR'];
$zapytanie1 = "DELETE FROM ".$dbprefix."_online WHERE poczatek < $aktywnosc";
$wykonaj1 = mysql_query($zapytanie1);
$zapytanie2 = "SELECT sesja FROM ".$dbprefix."_online WHERE sesja='$sesja'";
$wykonaj2 = mysql_query($zapytanie2);
$sprawdz2 = mysql_num_rows($wykonaj2);
if($sprawdz2 != "0") {
$zapytanie3 = "SELECT * FROM ".$dbprefix."_online WHERE sesja='$sesja'";
$wykonaj3 = mysql_query($zapytanie3);
$wiersz3 = mysql_fetch_array($wykonaj3);
$zapytanie4 = "UPDATE ".$dbprefix."_online SET id_nick='$id', poczatek='$poczatek', koniec='$koniec', url='$url', ip='$ip' WHERE sesja='$sesja'";
$wykonaj4 = mysql_query($zapytanie4);
} else {
$zapytanie5 = "INSERT INTO ".$dbprefix."_online SET id_nick='$id', poczatek='$poczatek', koniec='$koniec', url='$url', ip='$ip', sesja='$sesja'";
$wykonaj5 = mysql_query($zapytanie5);
}
$zapytanie6 = "SELECT * FROM ".$dbprefix."_online";
$wykonaj6 = mysql_query($zapytanie6);
$sprawdz6 = mysql_num_rows($wykonaj6);
$online = $sprawdz6;
if($online == '1') {
echo "$online osoba";
} elseif(($online > '1') && ($online < '5')) {
echo "$online osoby";
} elseif($online > '4') {
echo "$online osób";
}
echo " <a href="online.php" class="status">online</a>";
?>[/php:1:7dbedc49ca]
Czemu ten skrypt zawiesil juz 3x moja cala baze MySQL??
Ogladalnosc nie jest taka wielka, max 40 osob/dzien
