Мне было интересно, как я могу изменить свой код, чтобы он мог подсчитывать просмотры страниц для каждой страницы при наличии нескольких страниц и отображать правильные представления страниц для каждой страницы.
Вот мой PHP-код ниже.
//Adds one to the counter $mysqli = new mysqli("localhost", "root", "", "sitename"); $dbc = mysqli_query($mysqli,"UPDATE counter SET counter = counter + 1"); //Retreives the current count $count = mysqli_fetch_row(mysqli_query($mysqli,"SELECT counter FROM counter")); if (!$dbc) { // There was an error...do something about it here... print mysqli_error(); }
И вот мой код MySQL.
CREATE TABLE `counter` ( `counter` INT( 20 ) NOT NULL ); INSERT INTO counter VALUES (0);
Раньше это была моя альтернативная таблица.
CREATE TABLE `counter` ( `id` int(11) NOT NULL auto_increment, `ip` varchar(15) NOT NULL default '', `page` varchar(100) NOT NULL default '', PRIMARY KEY (`id`), KEY `ip` (`ip`,`page`) )
Это был мой старый счетчик страниц, который я пытаюсь совместить с моим новым счетчиком страниц.
//Get the viewer's IP Address and the page he / she is viewing $ip = $_SERVER['REMOTE_ADDR']; $page = $_SERVER['PHP_SELF']; //Check that the IP is not already listed for the current page $viewer_check_query = "SELECT * FROM counter WHERE ip = '$ip' AND page = '$page'"; $viewer_check_result = mysql_query($viewer_check_query); $viewer_check_numrows = mysql_num_rows($viewer_check_result); //If numrows is equal to zero, then the user is new if($viewer_check_numrows == 0){ //Add the new entry $viewer_new_query = "INSERT INTO counter (ip, page) VALUES ('$ip', '$page')"; $viewer_new_result = mysql_query($viewer_new_query); } //Get the total number of viewers for this page $viewer_total_query = "SELECT * FROM counter WHERE page = '$page'"; $viewer_total_result = mysql_query($viewer_total_query); $viewer_total_numrows = mysql_num_rows($viewer_total_result);