Foros del Web » Programando para Internet » PHP »

paginar

Estas en el tema de paginar en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 09/04/2015, 09:51
 
Fecha de Ingreso: octubre-2005
Mensajes: 129
Antigüedad: 19 años, 1 mes
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\">&laquo;</a> ";
  else
    $texto = "<b>&laquo;</b> ";
  //if ($minimo!=1) $texto.= "... ";
  if ($minimo!=1) $texto = "<a href=\"$enlace\"1>|&laquo;</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\">&raquo; </a>";
  else
    $texto .= "<b>&raquo;</b>";
  if ($maximo!=$total_paginas) $texto.= "<a href=\"$enlace$total_paginas\">&raquo;|</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

Etiquetas: fecha, html, paginar, registro, select, sql, variable
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 00:18.