Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/09/2006, 10:19
DJJJ
 
Fecha de Ingreso: octubre-2005
Mensajes: 407
Antigüedad: 18 años, 6 meses
Puntos: 2
buscador php mysql ("Fulltext")

hola a todos me estoy volviendo loco ya que he buscado por todos lados algun ejemplo y el que encontre no anda
tambien busque aqui y lo unico que sale es un link a mysql
pero alli no sale nada de lo que busco ya que lo que quiero es que ande en php no en modo consola de mysql
ya que no encuentro nada de informacion sobre crear un buscador con php mysql con fulltext

este es el codigo espero que me ayuden

buscar.htm

Código HTML:
<FORM METHOD="get" ACTION="buscar.php">
  Buscar: <INPUT TYPE="text" NAME="busqueda">
</FORM> 


la tabla de la base de datos seria


referencia (int11)
titulo (varchar(100))
desarrollo (text)
autor (varchar(50))


Los tipos de los campos a buscar deberán ser CHAR, VARCHAR o TEXT con sus variantes.






creo con myphpadmin

Código HTML:
ALTER TABLE ARTICULOS ADD FULLTEXT(TITULO, DESARROLLO);
y lo que es el buscar.php

Código PHP:
<?php
//cadena de conexion
mysql_connect("host","usuario","password");
// DEBO PREPARAR LOS TEXTOS QUE VOY A BUSCAR si la cadena existe
if ($busqueda<>''){
  
//CUENTA EL NUMERO DE PALABRAS
  
$trozos=explode(" ",$busqueda);
  
$numero=count($trozos);
  if (
$numero==1) {
    
//SI SOLO HAY UNA PALABRA DE BUSQUEDA SE ESTABLECE UNA INSTRUCION CON LIKE
    
$cadbusca="SELECT  REFERENCIA, TITULO FROM ARTICULOS WHERE VISIBLE =1
      AND DESARROLLO LIKE  '%$busqueda%' OR TITULO LIKE  '%$busqueda%' LIMIT 50"
;
  } elseif (
$numero>1) {
    
//SI HAY UNA FRASE SE UTILIZA EL ALGORTIMO DE BUSQUEDA AVANZADO DE MATCH AGAINST
    //busqueda de frases con mas de una palabra y un algoritmo especializado
    
$cadbusca="SELECT  REFERENCIA, TITULO, MATCH ( TITULO, DESARROLLO )
      AGAINST (  '$busqueda' ) AS Score FROM ARTICULOS WHERE
      MATCH ( TITULO, DESARROLLO ) AGAINST (  '$busqueda' ) ORDER  BY Score DESC LIMIT 50"
;
  }
  
$result=mysql("teleformacion"$cadbusca);
  While(
$row=mysql_fetch_object($result))
  {
    
//Mostramos los titulos de los articulos o lo que deseemos...
    
$referencia=$row->REFERENCIA;
    
$titulo=$row->TITULO;
    echo 
$referencia." - ".$titulo."<br>";
  }
}
?>

aqui creo que se comieron la conexion a la base de datos

que tendria que ir abajo de

Código PHP:
mysql_connect("host","usuario","password"); 
tendria que ir esto tambien no?

Código PHP:
mysql_select_db("nombrebasededatos"); 

bien cuando pongo buscar me sale la pagina en blanco

esta linea esta bien???

Código PHP:
  $result=mysql("teleformacion"$cadbusca); 
de donde saca teleformacion????

espero una ayudita y saludos

otra cosa con una refencia autoincremental cambiaria en algo?
__________________
DJJJ