Foros del Web » Programando para Internet » PHP »

PHP y MySql, incrementar campo

Estas en el tema de PHP y MySql, incrementar campo en el foro de PHP en Foros del Web. Hola, estoy empezando con php y bases de datos, estoy intentando incrementar un contador de visitas cada vez que pulsan en un determinado enlace. miren ...
  #1 (permalink)  
Antiguo 18/06/2008, 15:30
Avatar de miguel0n  
Fecha de Ingreso: abril-2008
Ubicación: Madrid
Mensajes: 48
Antigüedad: 16 años
Puntos: 0
PHP y MySql, incrementar campo

Hola, estoy empezando con php y bases de datos, estoy intentando incrementar un contador de visitas cada vez que pulsan en un determinado enlace. miren
Código PHP:
echo "<div class='titulo'>".$row["titulo"]."</div>";
echo 
"<div class='fecha'><a class='left' href='".$row["enlace1"]."' onClick='incrementa(".$row["titulo"].")'>... 
No se si voy bien encaminado, ahora segun clickee en el link llamaremos a la funcion incrementa pasandole el valor de titulo, para luego en dicha funcion realizar una consulta a la base de datos e incrementar en 1 donde el valor sea igual a titulo(variable pasada en la funcion).

Se haria asi?? O hay alguna forma mas facil?? me podeis echar una mano ??
Gracias
__________________
Un Saludo
Plaza de Oriente
  #2 (permalink)  
Antiguo 18/06/2008, 16:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: PHP y MySql, incrementar campo

Hola mighel0n,

Para incrementar en la BDD tendrías que hacer un llamado a una función en AJAX en tu llamada a la función incrementa.

Saludos.
  #3 (permalink)  
Antiguo 18/06/2008, 16:08
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: PHP y MySql, incrementar campo

Hola miguel()n, muy guapo el avatar.

ese evento y esa funcion son de js no??

El foro es de php, tambien se puede hacer sin js, solo con php, pero enseñame como insertas los datos en la BBDD

Un saludo
  #4 (permalink)  
Antiguo 18/06/2008, 17:02
Avatar de miguel0n  
Fecha de Ingreso: abril-2008
Ubicación: Madrid
Mensajes: 48
Antigüedad: 16 años
Puntos: 0
Respuesta: PHP y MySql, incrementar campo

Jeje, gracias a ambos, no he tenido que ingresar nada todavia, soy muy novato respecto a php, asi q ajax casi que mejor que no xD, con decirte q llevo a penas dias...
Si son de javascript jaronu, pretendia con esa funcion donde iria la consulta a la base de datos buscar el valor que coincida con el titulo e incrementase el valor de visitas. Pongo todo el codigo puede q cosas sean raras, pero como ya sabeis soy novato novato
Código PHP:
$sql 'SELECT titulo, caratula, sinopsis, DATE_FORMAT(fecha,\'%d/%m/%Y\'), vecesvista, informador, enlace1 FROM pelis '
            
$result mysql_query($sql,$link);
            if (
$row mysql_fetch_array($result)){
                do {
                    echo 
"<img class='caratulapeli marco' src='".$row["caratula"]."' alt='".$row["titulo"]."'>";
                    echo 
"<div class='titulo'>".$row["titulo"]."</div>";
                    echo 
"<div class='fecha'><a class='left' href='".$row["enlace1"]."' onClick='incrementa(".$row["titulo"].")'>Ver Online</a>Informa: ".$row["informador"]." | Veces vista: ".$row["vecesvista"]." | A&ntilde;adida: ".$row["DATE_FORMAT(fecha,'%d/%m/%Y')"]."</div>";
                    echo 
"<p>".$row["sinopsis"]."</p>";

                } while (
$row mysql_fetch_array($result));
            } else {    
                echo 
"¡ La base de datos está vacia !";
            } 
Y la funcion incrementa no tiene nada todavia aqui me atasque, como seria en php como dices??
Ya que estoy si teneis una buena direccion para principiantes sobre php mysql no estaria mal
Gracias
__________________
Un Saludo
Plaza de Oriente
  #5 (permalink)  
Antiguo 18/06/2008, 17:29
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: PHP y MySql, incrementar campo

Hola

has de poner una variable en el enlace que envias a la pagina $row["enlace1"]. que te la pongo en el codigo

Código PHP:
<?php 


$sql 
'SELECT titulo, caratula, sinopsis, DATE_FORMAT(fecha,\'%d/%m/%Y\'), vecesvista, informador, enlace1 FROM pelis ';  
            
$result mysql_query($sql,$link); 
            if (
$row mysql_fetch_array($result)){ 
                do { 
                    echo 
"<img class='caratulapeli marco' src='".$row["caratula"]."' alt='".$row["titulo"]."'>"
                    echo 
"<div class='titulo'>".$row["titulo"]."</div>"
                    
                    
//en la siguiente linea te agrego la variable titulo en el link para recibirla por GET
                    
echo "<div class='fecha'><a class='left' href='".$row["enlace1"]."&titulo=$row['titulo']' onClick='incrementa(".$row["titulo"].")'>Ver Online</a>Informa: ".$row["informador"]." | Veces vista: ".$row["vecesvista"]." | A&ntilde;adida: ".$row["DATE_FORMAT(fecha,'%d/%m/%Y')"]."</div>"
                    echo 
"<p>".$row["sinopsis"]."</p>"

                } while (
$row mysql_fetch_array($result)); 
            } else {     
                echo 
"¡ La base de datos está vacia !"
            }  



?>

Y despues al comienzo de esa pagina $row["enlace1"]., y en todas que se quiera contar la visita.

Código PHP:
<?php 

//recoges con GET la variable titulo del link
$titulo $_GET['titulo'];
//haces un UPDATE a la BD sumando 1 a vecesvisita donde titulo es igual al titulo del enlace
$sql 'UPDATE pelis SET vecesvisita = vecesvisita +1  WHERE titulo = $titulo' ;  
            
$result mysql_query($sql,$link); 
?>
lo que pasa es que si son muchas paginas sera tedioso, la otra opcion es la de cargar esa funcion incrementa con ajax que te comentaron para que se haga el update de la BD, pero para eso habras de preguntar en el foro de ajax.


mira , para empezar con php y MySQL te recomiendo que te descargues videotutoriales de www.illasaron.com
Un saludo
  #6 (permalink)  
Antiguo 19/06/2008, 01:51
Avatar de miguel0n  
Fecha de Ingreso: abril-2008
Ubicación: Madrid
Mensajes: 48
Antigüedad: 16 años
Puntos: 0
Respuesta: PHP y MySql, incrementar campo

Gracias por el link esta bastante bien, he estado mirando lo q me has pasado esto estaria bien si la pagina a la que me dirigo estuviese dentro de mi dominio pero enlace1 direcciona a otra pagina de internet. Entonces como seria para cuando pulse este enlace1 actualizar la base de datos (el incremento) y llevarle a esa direccion???
__________________
Un Saludo
Plaza de Oriente
  #7 (permalink)  
Antiguo 19/06/2008, 05:39
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: PHP y MySql, incrementar campo

Pues eso no lo se, me imagino que tendras que usar js y ajax

Un saludo
  #8 (permalink)  
Antiguo 19/06/2008, 07:25
Avatar de miguel0n  
Fecha de Ingreso: abril-2008
Ubicación: Madrid
Mensajes: 48
Antigüedad: 16 años
Puntos: 0
Respuesta: PHP y MySql, incrementar campo

Hola jaronu, ya lo he realizado gracias en parte a tu codigo al cual le paso el titulo y luego lo trato todo en otra pagina php, y por ultimo tras haber realizado la gestiones lo redirecciono a la web.
Código PHP:
<?php 
echo "<h1>Redireccionando...</h1>";
include(
"connect.php");
//recoges con GET la variable titulo del link
$titulo $_GET['titulo'];
$sql "SELECT titulo, enlace1 FROM pelis WHERE titulo='$titulo'"
$result mysql_query($sql,$link);
$row mysql_fetch_array($result); 
$enlace=$row['enlace1'];
mysql_query("UPDATE pelis SET vecesvista=vecesvista+1 WHERE titulo='$titulo'",$link);
mysql_close($link);
echo 
"<script language='javascript'>";
echo 
"location.href='$enlace'";
echo 
"</script>";  
?>
Quizas no sea la mejor opcion pero funciona, muchas gracias por la ayuda.
__________________
Un Saludo
Plaza de Oriente
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:38.