Je me demandais comment modifier mon code afin qu'il puisse compter les pages vues pour chaque page lorsque plusieurs pages sont présentes et afficher les pages vues correctes pour chaque page.Compteur de pages vues utilisant PHP et MySQL?
Voici mon code php ci-dessous.
//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();
}
Et voici mon code MySQL.
CREATE TABLE `counter` (`counter` INT(20) NOT NULL);
INSERT INTO counter VALUES (0);
C'était ma table alternative avant.
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`)
)
C'était mon ancien comptoir de la page que je suis en train de se combiner avec mon nouveau compteur de 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);
devoirs? Qu'avez-vous essayé, quel est votre plan d'action, votre idée de la façon de résoudre ce problème? – markus
quelle autre information auriez-vous besoin de faire cela? Où le rangez-vous? comment voulez-vous l'enregistrer, comment l'interroger? – markus
ne pas publier le code ici, éditez-le à votre question! – markus