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..