Foros del Web » Programando para Internet » PHP »

Paginador on ingreso de datos

Estas en el tema de Paginador on ingreso de datos en el foro de PHP en Foros del Web. Buenas Noches: Tengo un problema con este paginador que tiene una seleccion de la seccion que quiero consultar y un campo de busqueda que uso ...
  #1 (permalink)  
Antiguo 12/08/2009, 16:10
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires
Mensajes: 413
Antigüedad: 15 años
Puntos: 3
Paginador on ingreso de datos

Buenas Noches:
Tengo un problema con este paginador que tiene una seleccion de la seccion que quiero consultar y un campo de busqueda que uso ambos en la select, el tema es que al consultar y mostrarme la 1ra.pagina mantiene la "seccion" que seleccione antes pero pierde el valor de "busqueda" a a pesar que le agregue la instruccion
<?php
if(isset($_REQUEST['busqueda'])){
$busqueda==$_REQUEST['busqueda'];
}
?>
</select>
Caracteres a Buscar:
<input type="text" name="busqueda" size="20" value="<?php print $busqueda ?>">
<input type="submit" name="submit" value="Filtrar"/>

Por las dudas les dejo el codigo si alguien me puede ayudar.
Desde ya Muchas Gracias


<?php
session_start();
//if (!isset($_SESSION['idusuario'])) {
// header("Location: ../index.php");
//}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Famularo S.A. - Secciones</title>
<link href="../css/stylo0.css" rel="stylesheet" type="text/css" />
<style type="text/css">
</style>
</head>
<body>
<?php
include("..\includes\procs.php");
include("..\includes\conexiones.php");
include("..\includes\cabecera.php");
conectarse();
$result=mysql_query("select nombre from secciones") or die(mysql_error());
$total=mysql_num_rows($result);
IF ($total==0) {
header("Location: ../index.php");
}
?>
<table width="900" height="305" border="0" align="center" class="tdcentro" >
<tr>
<td width="810" height="301" valign="top" class="tdcentro">
<table width="814" height="299" border="0" align="center">
<tr align="center" valign="middle">
<th width="808" height="221" scope="row">
<form action="articulos.php?tipo=post" method="post">
Filtrar los Articulos por Seccion:
<select name="seccion">
<option value="0">Seleccione una Seccion</option>
<?php
// Extraemos la lista de Secciones de la base de datos
$sql = mysql_query("SELECT numero,nombre FROM secciones");
while($d = mysql_fetch_assoc($sql)) {
$seccion = htmlentities($d['numero']);
$nomsec = htmlentities($d['nombre']);
echo "<option value=\"$seccion\"";
// Mantenemos la selección actual, si es que hay
if(isset($_REQUEST['seccion']) and htmlentities($_REQUEST['seccion']) == $seccion)
echo " selected=\"selected\"";
echo ">$nomsec</option>";
}
?>

<?php
if(isset($_REQUEST['busqueda'])){
$busqueda==$_REQUEST['busqueda'];
}
?>


</select>
Caracteres a Buscar:
<input type="text" name="busqueda" size="20" value="<?php print $busqueda ?>">
<input type="submit" name="submit" value="Filtrar"/>
</form>
<table width="74%" border="1" style="width: 80%; margin: 10px;">
<tr>
<td width="61%"><b>Articulo</b></td>
<td width="39%"><b>Seccion</b></td>
</tr>
<?php
// Apertura de la conexión a la base de datos e Inclusión del script
require_once '../includes/PHPPaging.lib.php';
// Instanciamos el objeto
$paging = new PHPPaging;
$paging->modo('desarrollo');
// Armamos la consulta
$busqueda=strtoupper($_REQUEST['busqueda']);
$query = "SELECT distinct articulos.nombre as articulo,secciones.nombre as nomsec";
$query.= " from articulos,secciones";
$query.= " where articulos.seccion=secciones.numero";
if(isset($_REQUEST['busqueda']))
$query.= " and articulos.nombre like '%$busqueda%'";
$query.= " and articulos.referencia<>99999";
if(isset($_REQUEST['seccion']))
$query.= " and seccion = '".mysql_real_escape_string($_REQUEST['seccion'])."'" ;
$query.= " ORDER BY 1 ASC";
// Indicamos la consulta al objeto
$paging->agregarConsulta($query);
// Activar la recepción de datos POST
$paging->verPost(true);
// Ingresando un ancla
$paging->linkAgregar('#articulos');
// Filtrando las variables a propagar
$paging->mantenerVar("tipo", "seccion");
// Ejecutamos la paginación
$paging->ejecutar();
// Imprimimos los resultados, para esto creamos un ciclo while
// Similar a while($datos = mysql_fetch_array($sql))
while($datos = $paging->fetchResultado()) {
echo "<tr>";
echo "<td align='left'class='detcon'>".$datos['articulo']."</td>";
echo "<td align='left'class='detcon'>".$datos['nomsec']."</td>";
echo "</tr>";
}
?>
</table>
<?php
// Imprimimos algo de información
echo "<b>Página ".$paging->numEstaPagina()." de ".$paging->numTotalPaginas()."<br />";
echo "</b>Mostrando ".$paging->numRegistrosMostrados()." resultados, del ".$paging->numPrimerRegistro()." al ".$paging->numUltimoRegistro();
echo " de un total de ".$paging->numTotalRegistros()."<br /><br />";
// Imprimimos la barra de navegación
echo $paging->fetchNavegacion();
?>
</tr>
</table>
</td>
</tr>
</table>
<?php include("..\includes\pie.php"); ?>
</body>
</html>
  #2 (permalink)  
Antiguo 12/08/2009, 23:02
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Paginador on ingreso de datos

Supongo que:
$busqueda==$_REQUEST['busqueda'];

Podria ser lo mismo que:
true;

Intenta con un solo signo =
$busqueda=$_REQUEST['busqueda'];
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 13/08/2009, 07:59
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires
Mensajes: 413
Antigüedad: 15 años
Puntos: 3
Respuesta: Paginador on ingreso de datos

Muchas Gracias Amigo, funciono!!!!, ahora me mantiene la variable $busqueda cuando le doy al boton "filtrar" pero al cambiar de pagina o ir a otra pagina me lo borra, esa parte esta en la clase "PHPPaging.lib.php'", veo que se esta compicando!!.
Si me podes ayudar Muchisimas Gracias.
  #4 (permalink)  
Antiguo 13/08/2009, 08:35
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Paginador on ingreso de datos

Normalmente los formularios para busquedas se hacen por get y no por post. Desconozco el funcionamiento del paginador, pero creo recordar que utiliza todos los parametros recibidos en $_GET para armar los links de cada pagina, de ser asi, solo necesitaras cambiar el metodo del formulario.
__________________
- León, Guanajuato
- GV-Foto
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 15:22.