¿Cómo Amazon.com sugiere artículos buscados anteriormente?

Estimados amigos!

Estoy haciendo una pequeña página web de ventas con php y mysql...
Necesito saber: ¿Cómo Amazon.com sugiere artículos buscados anteriormente?

¿Conocen de alguna herramienta que haga esto?
Supongo que ellos extraen la información del historial de la PC y cuando visitas nuevamente la página principal quizás hagan una búsqueda automática con respecto a lo último buscado en sus páginas web, desde nuestro historial...

Les agradezco de antemano sus consejos y recomendaciones al respecto... Saludos!

Usa sesiones, si manejas sesiones puedes almacenar en ellas que ah buscado el usuario, así mientras la sesión no expire siempre que entres a la página seguirás viendo que busco el usuario.

También puedes usar COOKIES.

Otra solucion bastante menos elegante es guardar un registro en BBDD de las ultimas busquedas realizadas por un usuario, por ejemplo guardar las ultimas 5 o 10 busquedas realizadas asociadas con el nombre del usuario, y a partir de estos datos obrar en consecuencia

En eso que menciona cnicolas había pensado pero creo que a lo que quiere llegar envido es como hace para saber que a buscado uno antes si en Amazon tu pues buscar y buscar sin tan siquiera haberte registrado, y a eso es lo que creo que el quería llegar, porque siendo uno un usuario registrado pues se puedo guardar toda la información el BD para luego usarla ya que esa información quedo asociada a dicho usuario, pero si uno no esta registrado es mas "complicado" por eso no había mencionado yo eso, porque pensé que enviado hacia referencia a poder ver lo que antes se ha buscado pero sin registro.

Ahora ajustando la idea de cnicolas a lo que yo entiendo de sin ser un usuario registrado, pues en lugar de guardar el nombre de usuario en la BD, se debería guardar la dirección IP, de esa forma las búsquedas previas tendrían un poco mas de tiempo de vida que con COOKIES o Sesiones, pero se tendría el problema que conlleva el usar IPs en las aplicaciones web.

Te hize una pagina de ejemplo de como puedes hacer eso con seciones.

Escribe algo en la caja de busquedas, preciona buscar, vuelve a escribir algo y presiona buscar, veras como todo lo que vas buscando va quedando guardado, ahora cierra la pagina y vuelvela a abrir, al usar sesiones dicha información aun no se deberia haber perdido, por lo que al entrar de nuevo a la pagina debe aparecer lo que has buscado antes.

<?php
    SESSION_START
();
    if(
$_POST["buscar"]) {
       
$busquedas= $_SESSION["busquedas"];
       
$busquedas[] = $_POST["texto"];
       
$_SESSION["busquedas"] = $busquedas;
    }
   
?>

<html>
<head>
<title>Tuxerito</title>
</head>
<body>
Busquedas sugerdas:
<?php
           
foreach($_SESSION["busquedas"] AS $busqueda) {
                 echo
$busqueda."&nbsp;";
             }
       
?>

<br>
<form name="buscar" action="Ayuda_esDebian.php" method="post">
<input type="text" name="texto">
<input type="submit" name="buscar" value="Buscar">
</form>
</body>
</html>

Gracias por la ayuda!

Sí, lo que necesito es tomar la información del historial sin ser usuario registrado... Quizás más adelante considere guardar en la BD las búsquedas recientes de un usuario registrado!

Gracias por las ideas y por el código, creo que lo mas conveniente para mí sería usando las sesiones o cookies.

Buen día, Saludos!

envido escribió:

Gracias por la ayuda!

Sí, lo que necesito es tomar la información del historial sin ser usuario registrado... Quizás más adelante considere guardar en la BD las búsquedas recientes de un usuario registrado!

Gracias por las ideas y por el código, creo que lo mas conveniente para mí sería usando las sesiones o cookies.

Buen día, Saludos!

Solo se me ocurre con cookies. Si utilizas sesiones, en teoría estas utilizando cookies también.

Así que con las cookies es como puedes hacerlo.

Un saludo.

Tuxerito escribió:

En eso que menciona cnicolas había pensado pero creo que a lo que quiere llegar envido es como hace para saber que a buscado uno antes si en Amazon tu pues buscar y buscar sin tan siquiera haberte registrado, y a eso es lo que creo que el quería llegar, porque siendo uno un usuario registrado pues se puedo guardar toda la información el BD para luego usarla ya que esa información quedo asociada a dicho usuario, pero si uno no esta registrado es mas "complicado" por eso no había mencionado yo eso, porque pensé que enviado hacia referencia a poder ver lo que antes se ha buscado pero sin registro.

Ahora ajustando la idea de cnicolas a lo que yo entiendo de sin ser un usuario registrado, pues en lugar de guardar el nombre de usuario en la BD, se debería guardar la dirección IP, de esa forma las búsquedas previas tendrían un poco mas de tiempo de vida que con COOKIES o Sesiones, pero se tendría el problema que conlleva el usar IPs en las aplicaciones web.

Lo de la IP es evidentemente otra forma de hacerlo tan valida, no muy elegante pero efectiva, el hecho de guardar los registros es por que puedes almacenar el numero de registros que desees , por que imaginate que allguien hace 30 busquedas, guardar las treinta a lo mejor no es aconsejable si no solo las 5 ultimas por ejemplo.
Además el hecho de sugerir busquedas puede 'venderse' como aliciente para que el usuario se registre.

Aunque el que va a ver las búsquedas sugeridas es el mismo usuario que las hizo, o según eso le entendí a él XD, lo de la IP es porque si el usuario aun no esta registrado pues de alguna forma se deba poder identificar a dicho usuario dentro de la BD al momento de guardar los registros.

No entendí lo de los 30 registros que dices xD, igual sea con BD, Sesiones, Cookies, siempre podrás limitar el numero de búsquedas almacenados.

toniusco escribió:

Solo se me ocurre con cookies. Si utilizas sesiones, en teoría estas utilizando cookies también.

Así que con las cookies es como puedes hacerlo.

Un saludo.

No es del todo cierto, una sesión se almacena en el servidor, una Cookie se almacena el el PC del usuario, las sesiones usan una Cookie para almacenar el identificador de la sesión del servidor, si el navegador no soporta Cookies o el usuario las tiene bloqueadas, entonces no no te va a servir ni el metodo de sesiones ni el de Cookies, pero hay una forma de hacer funcionar las sesiones sin necesidad de Cookies y es pasando como parámetro en las URLs el ID de la sesión.

Saludos.

Me refiero a que en BBDD puede limitar facilmente el numero de busquedas anteriores efectuadas que quieres guardar, por ejemplo puede no ser interesante guardar todas las busquedas realizadas en la sesión o por el usuario si no solo las 5 ultimas