Hola a todos,
Hace tiempo pedí ayuda para combinar la función like con la match en un buscador en php sobre una base de datos mysql.
el código:
Código PHP:
<?php require_once('Connections/mallorcaempresa.php'); ?>
<?php
$colname2_Recordset1 = "1";
if (isset($_GET['select'])) {
$colname2_Recordset1 = (get_magic_quotes_gpc()) ? $_GET['select'] :
addslashes($_GET['select']);
}
$colname_Recordset1 = "1";
if (isset($_GET['busca'])) {
$colname_Recordset1 = (get_magic_quotes_gpc()) ? $_GET['busca'] :
addslashes($_GET['busca']);
}
$palabras= explode (" ", $_GET['busca']);
if(count($palabras)>1) {
$query.=mysql_select_db($database_mallorcaempresa, $mallorcaempresa);
$query_Recordset1 = sprintf("SELECT * , MATCH (nomempresa,frase)
AGAINST ('%%%s%%') AS puntuacion FROM empreses WHERE MATCH
(nomempresa,frase) AGAINST ('%%%s%%') ORDER BY puntuacion DESC
LIMIT 50", $colname_Recordset1,$colname_Recordset1);
$Recordset1 = mysql_query($query_Recordset1, $mallorcaempresa) or die
(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
} else {
$query.=mysql_select_db($database_mallorcaempresa, $mallorcaempresa);
$query_Recordset1 = sprintf("SELECT * FROM empreses WHERE (nomempresa
like '%%%s%%' or frase like '%%%s%%' )and idpoble like '%s'",
$colname_Recordset1,$colname_Recordset1,$colname2_Recordset1);
$Recordset1 = mysql_query($query_Recordset1, $mallorcaempresa) or die
(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
}
echo $query;
?>
El buscador funciona correctamente, pero tiene que haber algo que está mal, ya que en la hoja de respuesta me aparece un "1" en una esquina.
También quisiera que me paginase los resultados (20 por página) y no encuentro la manera de hacerlo.
Muchas gracias por su ayuda,
Un saludo