Tengo una pagina que tiene un buscador, pero cuando me lista los resultados me los lista todos sin diferenciar la categoria y subcategoria donde esta creado...
la pregunta es: hay alguna forma de mostrar en la pagina de resultado cada resultado con su categoria y su subcategoria??
esta es la funcion que usa el buscador
Código PHP:
<;?
// Este archivo ha sido descargado de ww.programacionweb.net
// y contiene 3 funciones útiles para la búsqueda en una base de datos
// para instrucciones: programacionweb.net/articulos/articulo/?num=260
function buscar($sTabla,$aCampos,$cDb,$iPaginas = 10){
global $iTotal,$aResultados;
$_GET['pag'] *= 1;
$aPalabras = split(' ',addslashes($_GET['q']));
foreach($aPalabras as $sPalabra)if($sPalabra != ''){
$preq .= " AND ( 0";
foreach($aCampos as $sCampo)$preq .= " OR $sCampo LIKE '%".$sPalabra."%'";
$preq .= ")";
}
$iTotal = mysql_result(mysql_query("SELECT COUNT(".$aCampos[0].") FROM `$sTabla` WHERE 1$preq",$cDb),0);
$aResultados=mysql_query("SELECT * FROM `$sTabla` WHERE 1$preq LIMIT ".($_GET['pag']*$iPaginas).",$iPaginas",$cDb);
}
function paginar($iPaginas = 10){
global $iTotal;
$iFinal = ($_GET['pag']+6 <; $iTotal/$iPaginas)?$_GET['pag']+6:round($iTotal/$iPaginas);
$iInicio = ($_GET['pag']-5 > 0)?$_GET['pag']-5:0;
for($iTemp = $iInicio; $iTemp <; $iFinal; $iTemp++){
echo (($iTemp == $_GET['pag'])?$iTemp+1:'<;a href="?q='.$_GET['q'].'&pag='.$iTemp.'">'.($iTemp+1).'<;/a>').' ';
}
if($_GET['pag']+6 <; $iTotal/$iPaginas)echo '...';
if($iTotal == 0)echo 'No se han encontrado resultados para su busqueda.';
}
function mostrar($sTitulo,$sTexto,$sId,$sUrl,$iPaginas = 10){
global $aResultados;
$aPalabras = split(' ',$_GET['q']);
while ($aResultado = mysql_fetch_array($aResultados)){
foreach($aPalabras as $sPalabra)if($sPalabra != ''){
$iPos = strpos(strtolower($aResultado[$sTexto]),strtolower($sPalabra));
if(!isset($iMin) || ($iMin > $iPos))$iMin = $iPos;
}
$sVistaPrevia = substr($aResultado[$sTexto],($iMin-15 > 0)?$iMin-15:0, 300);
$aVistaPrevia = explode(' ',$sVistaPrevia);
if($iMin != 0)array_shift($aVistaPrevia);
array_pop($aVistaPrevia);
$sVistaPrevia = htmlentities(implode(' ',$aVistaPrevia));
foreach($aPalabras as $sPalabra)if(($sPalabra != '') && $sPalabra != 'b')$sVistaPrevia = eregi_replace($sPalabra,'<;b>'.$sPalabra.'<;/b>',$sVistaPrevia);
echo "<;br><;b><;a href=\"".$sUrl.$aResultado[$sId]."\">".substr($aResultado[$sTitulo],0,50)."<;/a><;/b><;br>".$sVistaPrevia."<;br><;a href=\"".$sUrl.$aResultado[$sId]."\">Ver detalles<;/a><;br>";
$it = 1;
}
}
?>
y este es el codigo que esta en la pagina de resultados del buscador:
Código PHP:
<;?php
include("func/f_buscador.php");
$conexion a la BBDD
?>
<;?php
//array de la tabla
$arr_pros[0] = "nombre";
$arr_pros[1] = "mini_descripcion";
$arr_pros[2] = "descripcion";
$arr_pros[3] = "precio";
$arr_pros[4] = "referencia";
$arr_pros[5] = "fabricante";
buscar("productos",$arr_pros,$linko,10);
mostrar("nombre","mini_descripcion","idpro","detalle_pro.php?id=",10);
?>