Foros del Web » Programando para Internet » PHP »

APlicar el paginator.inc.php en un buscador

Estas en el tema de APlicar el paginator.inc.php en un buscador en el foro de PHP en Foros del Web. Hola amigos!! Me gustaría que alguien me pudiera echar una mano para implementar el paginator.inc.php en un buscador propio. Me explico: Me he bajado el ...
  #1 (permalink)  
Antiguo 25/09/2009, 03:06
 
Fecha de Ingreso: septiembre-2009
Mensajes: 11
Antigüedad: 14 años, 6 meses
Puntos: 0
APlicar el paginator.inc.php en un buscador

Hola amigos!!

Me gustaría que alguien me pudiera echar una mano para implementar el paginator.inc.php en un buscador propio.
Me explico:
Me he bajado el script paginator.inc.php para hacer una paginacion de los resultados de una busqueda.
Mi buscador es un tanto complejo, puesto que me busca en 3 tablas diferentes de la base de datos y luego puedo hacer un filtro por cada una de ellas.
EL caso es que el buscador me va de maravilla pero no logro implementar el paginador en este código, no me da error pero tampoco me saca ningún registro!!
SI alguien pudiera echarme una mano os lo agradeceria eternamente.
Dejo a continuación el código de mi buscador para que os hagais de una idea de como lo tengo.
Muchas gracias de antemano por vuestra ayuda:

<?
}

// esta funcion busca el texto definido por el array $q sobre la tabla definida por $numElemento,
// que se correspondera a un elemento del array $tablas
function dbSearch($numElemento)
{
// es necesario llamar a estas variables externas
global $q;
global $DBNAME, $link;
global $tablas, $paginas, $keys, $descs;
global $coincidencias;


// sacamos el numero de campos y los nombres ke tiene esa tabla
$result = mysql_db_query($DBNAME, "SELECT * FROM $tablas[$numElemento] WHERE 1", $link);
$num_fields = mysql_num_fields($result);
$fields = mysql_fetch_field($result);

?>

<?

// realizamos la consulta SQL y escribimos los resultados
$select = "SELECT *";
$from = "FROM $tablas[$numElemento]";
$where = "WHERE";

// construimos la clausula WHERE
for($word = 0; $word < count($q); $word++)
{
$where .= "(";
for($field=0; $field < $num_fields; $field++)
{
$where .= mysql_field_name($result, $field) . " LIKE '%$q[$word]%'";
if($field < $num_fields-1) $where .= " OR ";
}
$where .= ")";
if($word < count($q)-1) $where .= " AND ";
}

// construimos la consulta entera
//$_pagi_sql. AÑADO esta variable porque tiene que contenter el sql
$_pagi_sql = $select . " " . $from . " " . $where;
$result = mysql_db_query($DBNAME, $query, $link);

$_pagi_cuantos = 5;
$_pagi_nav_num_enlaces = 3;
$_pagi_mostrar_errores = true;
$_pagi_propagar = array("q","sec");

include("inc/paginator.inc.php");


if(mysql_num_rows($_pagi_result) > 0)
{
$coincidencias += mysql_num_rows($_pagi_result);

// imprimimos resultados
//for($row=0; $reg = mysql_fetch_array($result); $row++)
//{
for($row=0; $reg = mysql_fetch_array($_pagi_result); $row++){


// generamos todo el enlace
$desc = sprintf("%d",$descs[$numElemento]);

// acortamos la descripcion si sobrepasa de los 60 caracteres
if(strlen(nohtml($reg[$desc])) > 60) $desc = substr(nohtml($reg[$desc]), 0, 60) . "...";
else $desc = nohtml($reg[$desc]);

// valor y nombre del campo clave (id)
// (ver variable $keys, arriba)
$key = sprintf("%d",$keys[$numElemento]);
$key_name = mysql_field_name($_pagi_result, $key);




?>

<li class="nombre"><a href='<?=$paginas[$numElemento];?><?=$key_name;?>=<?=$reg[0];?><?=$posicion;?>'><?=$desc;?></a> <em class="<?=$tablas[$numElemento];?>"></em></li>

<?
}
}

?>

<? } ?>
</ol>
<ul id="paginacion">


<li><a href="buscador-localizaciones-guia.php?$q=<?=$_GET['q'];?>&sec=<?=$_GET['sec'];?>"</a><?=$_pagi_navegacion;?>
</li>

</ul>

Última edición por beutxita; 25/09/2009 a las 03:52 Razón: cambio de codigo
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 18:53.