PHP - Palabras clave

 
Vista:

Palabras clave

Publicado por Andreu (4 intervenciones) el 03/04/2007 11:08:24
Hola compañeros, tengo una duda..
En las paginas de recetas, al encontrar una, la pagina te suele mostrar recetas relacionadas segun palabras clave.Como lo hacen? porque estoy intentando hacer lo mismo pero no consigo sacarlo, hay alguna forma de hacerlo mediante PHP o sentencias sql?

Muchas gracias!!!!
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

RE:Palabras clave

Publicado por Rocio (62 intervenciones) el 03/04/2007 13:34:29
Creas un formulario donde el usuario introduce la palabra clave y con esta palabra realizas una consulta del tipo:

Select * from recetas where titulo = $_post['palabra'];

Algo asi, ya tendrias que adaptarlo si vas a permitir que introduzcan mas de una palabra, etc.

Si necesitas mas ayuda, postea por aqui o contacta conmigo en mi correo.

Un saludo!
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

RE:Palabras clave

Publicado por Beto (4 intervenciones) el 03/04/2007 19:08:07
Bueno amigo.. primero te recomiendo que guardas en un campo aparte de cada receta que seria de un tamaño como de 255 o lo que prefieras las palabras clave de cada receta, es mejor si las separas por espacios..

Primero haces un formulacio en donde mandes una variable llamada "palabra".. o como desees..

y luego hacer algo como esto:

$nombre=SPLIT(" ",$_POST["palabra"]);

$n_pal = count($nombre);

include("conexion.php"); // Supongo que debes saber que es esto

if ($n_pal == 1){

$sql = 'SELECT `recetas`.`nombre, `recetas`.`otros_datos` FROM recetas WHERE ((`recetas`.`palabras_clave` like "%'.$nombre[0].'%"))';

}elseif($n_pal >= 2){

$sql = 'SELECT `recetas`.`nombre, `recetas`.`otros_datos` FROM recetas WHERE ((`recetas`.`palabras_clave` like "%'.$nombre[0].'%")';
for ($i = 1; $i <= ($n_pal - 1); $i++) {
$sql = $sql.' and (`recetas`.`palabras_clave` like "%'.$nombre[$i].'%")';

}
$sql = $sql.')';

}

$busqueda = mysql_query($sql,$conexion);
$recetas_encontradas = mysql_fetch_array($busqueda);

//------------------------------------------------------------------------------------------
Hay como mil maneras de mejorar este codigo.. asi que si alguien lo hace, seria bueno que lo publicara aqui.. puse este por que era el que tenia a la mano..

Esto te funciona para cuando ingresas varias palabras.. y si mandas a buscar un espacio en blanco te busca todas las recetas.. y es insensible frente a las mayusculas y minusculas..

Espero que te sirva..
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