Encontré una función que solía utilizar para realizar búsquedas, incluso con FullText.
Esta función retorna un Array o false, según sea el caso.
function busquedas($campos,$against,$tabla,$busqueda,$parametro){//********* BD *************//
$link=mysql_connect("localhost","root","root"); //Datos de conexión
mysql_select_db("BD",$link); //Base de datos
//********* BD *************//
if(str_word_count($busqueda)<=1){
$romper=explode(',',$against);
$busqueda=trim(strtolower($busqueda));
if(count($romper)>=2){
for($i=0; $i<count($romper); $i++){
if($i==0){
$nuevo='LCASE('.$romper[$i].')'." LIKE '%".$busqueda."%' OR ";
}else if($i==count($romper)-1){
$nuevo.='LCASE('.$romper[$i].')'." LIKE '%".$busqueda."%'";
}else{
$nuevo.='LCASE('.$romper[$i].')'." LIKE '%".$busqueda."%' OR ";
}
}}else{
$nuevo='LCASE('.$romper[0].')'." LIKE '%".$busqueda."%'";
}
if($parametro==''){
$x=mysql_query('SELECT '.$campos.' FROM '.$tabla." WHERE ".$nuevo);
}else{
$x=mysql_query('SELECT '.$campos.' FROM '.$tabla." WHERE (".$nuevo.") ".$parametro);
}
}else{
$busqueda=trim(strtolower($busqueda));
$pos=count($campos);
$campos.=", MATCH(".$against.") AGAINST('".$busqueda."' IN BOOLEAN MODE) AS Score";
if($parametro==''){
$x=mysql_query('SELECT '.$campos.' FROM '.$tabla." WHERE MATCH(".$against.") AGAINST ('".$busqueda."' IN BOOLEAN MODE) ");
}else{
$x=mysql_query('SELECT '.$campos.' FROM '.$tabla." WHERE MATCH(".$against.") AGAINST ('".$busqueda."' IN BOOLEAN MODE) ".$parametro);
}
}
$retorno=array();
$indice=0;
while($row=mysql_fetch_array($x)){
for($i=0; $i<count($romper);$i++){
$var=($row[$romper[$i]]);
$retorno[$romper[$i]][$indice]=$var;
}
$indice++;
}
if($x==true){ return $retorno; }else{ return false; }
}
Deben configurar su base de datos y conexión a MySQL, luego llaman a la función de la siguiente manera:
$resultado=busquedas(‘campo1,campo2′,’campo1,campo2′,’Tabla’,'Lo que busco’,'Parametro [opcional]‘);
*Recuerden, siempre se ponen los mismos campos en el primer y segundo parámetro.
Ejemplo:
$resultado=busquedas(‘Song‘,’Song‘,’archivos‘,’a‘,”); // Retorna los campos ‘Song’ que contengan la letra ‘a’.
$resultado=busquedas(‘Song,Duration, Bitrate‘,’Song,Duration, Bitrate‘,’archivos‘,’Canción X‘,”); // Retorna los campos ‘Song, Duration y Bitrate’ que contengan las palabras ‘Canción X’.
El valor devuelto será un Array:
$resultado['Song'][0]; // El segundo valor de la matriz – 0 – es el índice. El índice irá de ’0′ a la cantidad de registros que contenga el Array.
*Si queremos saber cuántos valores almacena el Array usamos: count($resultado['Song']); // Valor Numérico.
** Para realizar búsquedas que contengan más de una palabra deben crear los índices Full-text para los campos sobre los que van a operar. Esto pueden hacerlo desde PhpMyAdmin o desde SQL escribiendo:
ALTER TABLE MiTabla ADD FULLTEXT(Campo1, Campo2);
Jul
28
2011
Facebook Comments – Añadir la caja para comentar de Facebook
Publicado por admin | Comentarios (0)
Categoría : Html y Html 5, Javascript
Tags: box, caja, comentarios, comment, facebook
Copiamos el siguiente código: