Foros del Web » Programando para Internet » PHP »

script producto mas visitado

Estas en el tema de script producto mas visitado en el foro de PHP en Foros del Web. hola de nuevo a todos/as. bueno. tengo una tabla llamada productos en la que para simplificar diremos que tiene cuatro campos: tabla 'productos' idproducto--------------autonumérico nombre------------------nombre ...
  #1 (permalink)  
Antiguo 20/08/2008, 01:36
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 17 años, 5 meses
Puntos: 1
script producto mas visitado

hola de nuevo a todos/as. bueno. tengo una tabla llamada productos en la que para simplificar diremos que tiene cuatro campos:

tabla 'productos'

idproducto--------------autonumérico
nombre------------------nombre del producto
caracteristicas---------caracteristicas del producto
imagen------------------imagen del producto
idcategoria_prod------categoria a la que pertenece el producto

tengo otra tabla llamada categorías que son las categorías donde están agrupados los productos:

idcategoria-------------autonumerico
nombrecat--------------nombre de la categoria

las tablas las relaciono mediante idcategoria = idcategoria_prod

a través de consulta muestro los productos que tienen enlaces para acceder a su ficha del tipo: ficha.php?id=3&cat=5

mi consulta es la siguiente: se me ha ocurrido hacer un pequeño apartado donde recoja "producto IN" que recoge el producto que más veces ha sido visitado. cómo hago esto? he estado viendo el foro pero lo que hay me pierdo.

por otro lado como puedo hacer para codificar el id=3&cat=5 puesto que alguien con un poco de conocimiento podrá acceder a las diferentes fichas solo cambiando los números.

gracias a todos
  #2 (permalink)  
Antiguo 20/08/2008, 03:34
Avatar de Kamae  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años
Puntos: 13
Respuesta: script producto mas visitado

Buenas.

Para lo primero, las visitas. Es tan sencillo como crear otro campo en la tabla productos que se llame visitas por ejemplo. Que sea un numérico inicializado en 0. Cada vez que vayas a ver un producto, le sumas +1 al campo visitas y listo:

Código PHP:
// Cuando entren en la página ficha.php?id=3, supongo que el id=3 es el producto número 3
mysql_query("UPDATE productos SET visitas=visitas+1 WHERE idproducto=".$_GET['id']."");
// Le suma una visita al ID que le hayas pasado por GET en la URL 
Para lo de codificar el GET, yo personalmente no lo he hecho nunca así que no te sé decir, pero te planteo algunas preguntas o alternativas.

1) Realmente te molesta que pongan en la URL el id=5 y vayan al 5 directamente, sin pasar por la página donde seleccionan el producto? Porque yo personalmente no le veo el inconveniente cuando lo que se pasa por GET no son parámetros confidenciales.

2) Si seleccionan los productos desde un formulario (que no lo sé, estoy suponiendo :P ), porque no cambias el GET por el POST? Así no podrán modificar nada en la URL porque no habrá nada.

3) Usar dos sessiones que almacenen el id y el cat ese, así tampoco se verá en la URL y si no usas formulario (y por lo tanto no puedes usar la solución 2), con sessiones podrías hacerlo igualmente.

Saludos y suerte
  #3 (permalink)  
Antiguo 20/08/2008, 04:17
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 17 años, 5 meses
Puntos: 1
Respuesta: script producto mas visitado

gracias por tu ayuda kamae. voy a probar como dices. es verdad. realmente tampoco tiene tanta importancia lo de codificar los parámetros. era una duda más que nada.
  #4 (permalink)  
Antiguo 20/08/2008, 05:49
 
Fecha de Ingreso: junio-2005
Mensajes: 343
Antigüedad: 18 años, 10 meses
Puntos: 10
Respuesta: script producto mas visitado

Puedes usar un modulo de Apache que se llama mod_rewrite

Se configura con el fichero .htaccess

Puedes buscar en google hay un monton de manuales.

Su funcionamiento es el siguiente:

Si me piden:

www.pagina.com/{nombredecategoria}/{idcategoria}/{nombreproducto}-{idproducto}.html

Este modulo es capaz de traducirlo a una petición interna de tipo:


www.pagina.com/miscript.php?cat={idcategoria}&productoid={idprodu cto}


Saludos.
  #5 (permalink)  
Antiguo 20/08/2008, 06:07
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 17 años, 5 meses
Puntos: 1
Respuesta: script producto mas visitado

si jorgivaz pero mi duda es: ¿para modificar el fichero .htaccess no me tiene que dar permiso la empresa que me da el hosting?
  #6 (permalink)  
Antiguo 20/08/2008, 06:10
 
Fecha de Ingreso: junio-2005
Mensajes: 343
Antigüedad: 18 años, 10 meses
Puntos: 10
Respuesta: script producto mas visitado

No, ese es un fichero que tu subes dentro del directorio de tu hosting y lo configuras como quieres.

Cuando desde el CPANEL proteges un directorio con usuario/contraseña, lo que hace es configurar él el .htaccess.

Puedes hacerlo tranquilamente y situar el fichero en tu 'dominio.com/.htaccess' y al ser un fichero .htaccess no podrá ser leido desde fuera de esa máquina.


Saludos.
  #7 (permalink)  
Antiguo 20/08/2008, 10:15
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 17 años, 5 meses
Puntos: 1
Respuesta: script producto mas visitado

volviendo a lo de las visitas. ya he conseguido meter ese campo 'visitas' en la tabla y lo actualiza correctamente. pero ¿cuál sería la consulta a hacer a la base de datos, a esa tabla, para que me muestre el producto que más visitas tiene? estoy perdida ahí....
  #8 (permalink)  
Antiguo 20/08/2008, 11:43
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: script producto mas visitado

SELECT * FROM productos ORDER BY visitas DESC
Si quieres tambien puedes agregar un limit para limitar en numero de resultados mas visitados.
  #9 (permalink)  
Antiguo 21/08/2008, 00:05
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 17 años, 5 meses
Puntos: 1
Respuesta: script producto mas visitado

disculpad con la última pregunta...ayer estaba bloqueada y agotada de tanto trabajo y no sabía ya ni que preguntaba. gracias de todos modos ronruby por tu interes. es obvio que esa es la consulta. disculpa que te haya hecho perder el tiempo. a veces es necesario parar y descansar....las soluciones vienen solas....gracias a todos
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 16:17.