
09/04/2015, 09:51
|
| | Fecha de Ingreso: octubre-2005
Mensajes: 129
Antigüedad: 19 años, 5 meses Puntos: 0 | |
paginar Hola a todos, les cuento tengo una pagina en php con sql server 2008 esta buscar por nombre y el resultado lo pagina, cuando se presiona para avanzar por la paginacion no muestra nada, entiendo que es por la variable de busqueda, como lo hago para avanzar con la paginacion y que no se borren lo resultados.
conexio a la base de datos con ODBC
Código:
</HEAD>
<TITLE></TITLE>
<BODY>
<div id="content">
<div align="right"><a href="index.php">Volver Menu</a></div>
<h1>Consulta OC</h1>
<div id="apDiv1">
<form id="form1" name="form1" method="post" action="#">
<p align="left">
<input name="txtbuscar" type="text" id="txtbuscar" size="30" />
<div id="fechas" style="display: none">
<label for="fecha">Fecha:
<input type="text" name="txtfecha1" id="txtfecha1" value="" />
</label>
<label for="fecha">Fecha:
<input type="text" name="txtfecha2" id="txtfecha2" value="" />
</label></p>
</div>
<p>
<label>
<input name="oc_radiobutton" type="radio" id="Seleccion_0" value="codigo">
Codigo</label>
<input name="oc_radiobutton" type="radio" id="Seleccion_1" value="razsoc">
<label>Razon Social</label>
<input name="oc_radiobutton" type="radio" id="Seleccion_2"value="fecha" >
<label>Fecha</label>
</p>
<div style="float: left;"><input type="submit" name="btnbuscar" id="btnbuscar" value="Buscar" /></div>
</span>
</form>
<div style="float: left;"></div>
</div>
<hr />
<?
$vPag=$_REQUEST["pPag"];
if (empty($vPag)) $vPag = 1; // Por defecto, pagina 1
$tamPag = 10;
$regUltimo = ($vPag-1) * $tamPag;
$sql1="select count (*) FROM dbo.OC_DB inner join dbo.CLIEN_DB on dbo.OC_DB.NRUTPROV=dbo.CLIEN_DB.NREGUIST where RAZSOC like '%siemens%'" ;
$rs = @odbc_exec( $cid, $sql1 );
if ( @odbc_fetch_into($rs, $dato))
{
$totReg = trim( $dato[0] );
}
if(isset(btnbuscar))
{
$txtbuscar=$_POST[txtbuscar];
$sql2="select CONVERT(VARCHAR(10),dbo.OC_DB.FECHA,111)as FECHA,dbo.OC_DB.NUMREG,dbo.OC_DB.NUMOC,dbo.CLIEN_DB.RAZSOC,dbo.OC_DB.RUTPROV,dbo.OC_DB.TOTAL FROM dbo.OC_DB inner join dbo.CLIEN_DB on dbo.OC_DB.NRUTPROV=dbo.CLIEN_DB.NREGUIST where RAZSOC like '%$txtbuscar%' ORDER BY FECHA DESC";
$rs = @odbc_exec( $cid, $sql2 );
$numCampos = odbc_num_fields($rs);
$cuentaReg=0;
odbc_fetch_row($rs,$regUltimo);
while(odbc_fetch_row($rs)&& $cuentaReg<$tamPag)
{
$numreg=odbc_result($rs,"NUMREG" );
$total_oc=odbc_result($rs,"TOTAL");
$raszoc=odbc_result($rs,"RAZSOC");
$total=number_format($total_oc);
$cuentaReg++;
echo"<tr>";
echo"<td>".odbc_result($rs,"NUMOC")."</td>";
echo"<td>".odbc_result($rs,"FECHA")."</td>";
echo"<td>".$raszoc."</td>";
echo"<td>".odbc_result($rs,"RUTPROV")."</td>";
echo"<td>".$total."</td>";
echo"<td ><a href=consultas_OC_detalle.php?NUMERO=$numreg&RAZSOC=$raszoc>Detalle</a></td>";
echo "</tr>\n";
}
echo"<table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">";
echo"<tr><td align=\"center\">".paginar($vPag,$totReg,$tamPag,"consultas_OC.php?pPag=",10)."</td></tr>";
echo"</table>";
echo"</table>";
odbc_close( $cid ); // Se cierra la conexión
exit();
}
function paginar($actual, $total, $por_pagina, $enlace, $maxenlaces=0)
{
/******************************************************/
/* Funcion paginar
* actual: Pagina actual
* total: Total de registros
* por_pagina: Registros por pagina
* enlace: Texto del enlace
* maxenlaces: El máximo de enlaces a presentar simultáneamente (opcional)
* Devuelve un texto que representa la paginacion
*/
$total_paginas = ceil($total/$por_pagina);
$anterior = $actual - 1;
$posterior = $actual + 1;
$minimo = $maxenlaces ? max(1, min($actual-ceil($maxenlaces/2),$total_paginas-$maxenlaces)): 1;
$maximo = $maxenlaces ? min($total_paginas, max($actual+floor($maxenlaces/2),$maxenlaces)): $total_paginas;
if ($actual>1)
$texto = "<a href=\"$enlace$anterior\">«</a> ";
else
$texto = "<b>«</b> ";
//if ($minimo!=1) $texto.= "... ";
if ($minimo!=1) $texto = "<a href=\"$enlace\"1>|«</a> ".$texto."... ";
for ($i=$minimo; $i<$actual; $i++)
$texto .= "<a href=\"$enlace$i\">$i</a> ";
$texto .= "<b>$actual</b> ";
for ($i=$actual+1; $i<=$maximo; $i++)
$texto .= "<a href=\"$enlace$i\">$i</a> ";
if ($maximo!=$total_paginas) $texto.= "... ";
if ($actual<$total_paginas)
$texto .= "<a href=\"$enlace$posterior\">» </a>";
else
$texto .= "<b>»</b>";
if ($maximo!=$total_paginas) $texto.= "<a href=\"$enlace$total_paginas\">»|</a> ";
$texto.="<br> Mostrando registros del ".(($actual*$por_pagina)-$por_pagina+1)." al ";
$texto.=($actual*$por_pagina)>$total?$total:($actual*$por_pagina);
$texto.= " (de un total de $total). Página $actual de $total_paginas.";
return $texto;
}
?>
<div style="float: left;"></div>
<div style="float: left;"></div>
</p>
</div>
</BODY>
</HTML>
 
__________________ Pablo Baez |