<?php } $ip = $_SERVER['REMOTE_ADDR']; $zapyt = "INSERT INTO licznik(ip,data) VALUES('$ip','$czas')"; //dodajemy ip + czas $zapyt = "UPDATE licznik2 SET odslon=odslon+1"; //powiększamy liczbę odsłon $zapyt = "SELECT ip FROM licznik WHERE ip='$ip'AND data>'$dzis'"; if($num==1){ //licznik unikalnych + kasowanie starych $zapyt = "UPDATE licznik2 SET wizyt=wizyt+1"; $zapyt = "DELETE FROM licznik WHERE data<'$roznica'"; } //wyswietlamy co trzeba $zapyt = "SELECT wizyt,odslon FROM licznik2"; foreach($row as $linia){ $licznik[] = $linia; } $zapyt = "SELECT count(DISTINCT ip) FROM licznik WHERE data>$dzis"; $licznik[2] = $row['count(DISTINCT ip)']; $zapyt = "SELECT count(DISTINCT ip) FROM licznik WHERE data<$dzis"; $licznik[3] = $row['count(DISTINCT ip)']; $zapyt = "SELECT count(DISTINCT ip) FROM licznik WHERE data>$online"; $licznik[4] = $row['count(DISTINCT ip)']; <p>odslon: '.$licznik[1].'</p> <p>dzis: '.$licznik[2].'</p> <p>wczoraj: '.$licznik[3].'</p> <p>online: '.$licznik[4].'</p> '; ?>
1. Zrobiłem dwie tabele - jedna zawiera ip+czas, druga liczbę odsłon oraz wizyt - czy lepiej byłoby to upchać w jednej tabeli? A jeśli tak to jak? Jak powinienem ustawić pola? INT(11) dla czasu i VARCHAR(15) dla ip są optymalne czy niezbyt?
2. Zastanawiam się, czy nie można by połączyć tych zapytań (np. UNIONEM), i czy miałoby to znaczący wpływ na wydajność?
3. Czy koncepcja jaką obrałem jest słuszna, czy można by to jakoś usprawnić. Licznik ma chodzić na okrągło, więc zależy mi bardzo na wydajności.