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?