Foros del Web » Programando para Internet » PHP »

busqueda php mysql

Estas en el tema de busqueda php mysql en el foro de PHP en Foros del Web. Hola a todos... soy nuevo de este foro, aunque me ha servido varias veces de utilidad Estoy programando un buscador y estoy intentando utilizar la ...
  #1 (permalink)  
Antiguo 25/01/2010, 11:39
 
Fecha de Ingreso: enero-2010
Mensajes: 1
Antigüedad: 14 años, 3 meses
Puntos: 0
busqueda php mysql

Hola a todos... soy nuevo de este foro, aunque me ha servido varias veces de utilidad

Estoy programando un buscador y estoy intentando utilizar la función MATCH ... AGAINST

CODIGO ES EL SIGUIENTE:

<?php
//Datos de acceder al SQL
$usuario = "prueba";
$servidor = "localhost";
$password = "prueba";

//Acceder a la base de datos
$SQL_BD = "noticias";


//Funciones de Conexion a la base de datos
$SQL_linea = mysql_connect($servidor, $usuario,$password);


mysql_select_db($SQL_BD, $SQL_linea);
//Acceder a la Tabla



//Parametro TITULAR
$busqueda = $_REQUEST['titulo'];
$busqueda2 = $_REQUEST['detalle'];

if ($busqueda<>''){
$trozos=explode(" ",$busqueda);
$numero=count($trozos);

if ($numero==1) {
$SQLid= "SELECT titular, descripcion FROM noticias WHERE titular LIKE '%$busqueda%' AND descripcion LIKE '%$busqueda2%' LIMIT 50";

}
elseif ($numero>1)
{
/*
$SQLid="SELECT * FROM noticias WHERE MATCH ( titular, descripcion ) AGAINST ( '%$busqueda%' ) ORDER BY Score DESC LIMIT 50";
*/
$cadbusca="SELECT titular , descripcion MATCH ( titular , descripcion ) AGAINST ( '$busqueda' ) AS Score FROM noticias WHERE MATCH ( titular, descripcion ) AGAINST ( '$busqueda' ) ORDER BY Score DESC LIMIT 50";
}


}
$result=mysql($cadbusca,$SQL_linea);
While($row=mysql_fetch_object($result))
{
//Mostramos los titulos de los articulos o lo que deseemos...
$referencia=$row->codigo;
$titulo=$row->titular;
echo $referencia." - ".$titulo."<br>";;
}

/*
//SALIDA del resultado
$SQLresultado = mysql_query($SQLid, $SQL_linea);
echo $SQLresultado;

echo '<div>';
While ($SQLrow=mysql_fetch_array($SQLresultado))
{
echo '<p>'.$SQLrow['titular'].'</p>';
echo '<p>'.(".......................................... ................................................") .'</p>';
}
echo '</div>';
*/
?>




el problema es al hacer una busqueda con mas de una palabra.


agradezco vuestra ayuda de atemano
  #2 (permalink)  
Antiguo 25/01/2010, 11:44
 
Fecha de Ingreso: febrero-2007
Mensajes: 165
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: busqueda php mysql

Espero que te sirva

$link = mysql_connect($hostname_BD,$username_BD,$password_ BD);
mysql_select_db($database_BD,$link);
$querynot = "SELECT * from noticias WHERE noticia LIKE '%{$_POST['palabra']}%' or resumennoticia LIKE '%{$_POST['palabra']}%' OR titulo LIKE '%{$_POST['palabra']}%' ORDER BY fecha desc";
$resultnot = mysql_query($querynot,$link);
$foundnot = false;
$totalRowsnot = mysql_num_rows($resultnot);
echo "<span class='texto1'><b> Noticias (" . $totalRowsnot . ")</span></b>";
while ($rownot = mysql_fetch_array($resultnot)) {
$foundnot = true;
echo "<p class='texto1'>";
echo "<a class='texto1' href='vernoticia.php?idnoticia=" . $rownot['idnoticia'] . " ' " . ">" . date("d-m-Y",strtotime($rownot['fecha'])) . " - " . $rownot['titulo']. "</a><br />";
echo "</p>";
}
if(!$foundnot) {
echo "<p class='texto1'><i class='texto1'>No se encontr&oacute; la palabra introducida</i></p>";
}

Etiquetas: mysql, busquedas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:23.