PHP - Contador de visitas por entrada (id) con php y mysql

 
Vista:
sin imagen de perfil

Contador de visitas por entrada (id) con php y mysql

Publicado por Sebastián (2 intervenciones) el 16/11/2016 02:32:44
Buenas noches a todos,
quería saber si me pudieran ayudar a crear un contador de visitas de las entradas que hay en un sitio web dependiendo de su ID. Y luego mostrar el total de cada entrada.

1.- Contar las visitas de cada entrada
2.- Guardar las entras en Base de datos
3.- Consultar el total de las entras y mostrar en un apartado.

No tengo un ejemplo pero creo que se entiende. Disculpen las molestias, estoy empezando en esto y he estado buscando mucho pero la mayoría son en ingles y no es exactamente lo que busco.

Como en wordpres muestran las visitas de cada "POST".
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Contador de visitas por entrada (id) con php y mysql

Publicado por xve (6935 intervenciones) el 16/11/2016 08:11:26
Hola Sebastián lo que pides no es una cosa de pocos minutos, por lo que estaría bien que a medida que lo vas haciendo fueras preguntando las dudas concretas para que te podamos ayudar.

La teoría es que cada vez que se muestra una pagina, se sume un valor en la base de datos para posteriormente mostrarlo en la misma pagina o donde sea necesario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Contador de visitas por entrada (id) con php y mysql

Publicado por Sebastián (2 intervenciones) el 16/11/2016 19:02:42
Verá estoy intentando usar este código. Funciona para el index.php y cuando pongo en single.php porque detecta la página que visita pero necesito que detecte la entrada, http://localhost/loremp/single.php?id_p=5 y solo me detecta single.php que es la página en la que muestro las entradas pero dependiendo de la id_p. Cómo podría hacer?
db

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
//MySQL database variables
//You need to change these variables to be right for your MySQL install
$host = "localhost";
$user = "root";
$pass = "";
$dbname = "click_count";
 
//DO NOT CHANGE THE FOLLOWING CODE!
 
//start a PHP session
//this prevents spamming the click count by refreshing the page
session_start();
 
//create current page constant
$curPage = mysql_real_escape_string(htmlspecialchars($_SERVER['PHP_SELF']));
 
//set number of clicks variable to 0
$clicks = 0;
 
//do not recount if page currently loaded
if($_SESSION['page'] != $curPage) {
   //set current page as session variable
   $_SESSION['page'] = $curPage;
 
   //try to connect to MySQL server
   if(!$link = mysql_connect($host, $user, $pass)) {
      echo "Could not connect to MySQL server. Check your login information; the MySQL server may also be offline or temporarily overloaded.";
   }
   //try to select database
   elseif(!mysql_select_db($dbname)) {
      echo "Cannot select database.";
   }
   else {
      //get current click count for page from database;
      //output error message on failure
      if(!$rs = mysql_query("SELECT * FROM click_count WHERE page_url = '$curPage'")) {
         echo "Could not parse click counting query.";
      }
      //if no record for this page found,
      elseif(mysql_num_rows($rs) == 0) {
         //try to create new record and set count for new page to 1;
         //output error message if problem encountered
         if(!$rs = mysql_query("INSERT INTO click_count (page_url, page_count) VALUES ('$curPage', 1)")) {
            echo "Could not create new click counter for this page.";
         }
         else {
            $clicks = 1;
         }
      }
      else {
         //get number of clicks for page and add 1
         $row = mysql_fetch_array($rs);
         $clicks = $row['page_count'] + 1;
         //update click count in database;
         //report error if not updated
         if(!$rs = mysql_query("UPDATE click_count SET page_count = $clicks WHERE page_url = '$curPage'")) {
            echo "Could not save new click count for this page.";
         }
      }
   }
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar