note 28704 rejected from function.in-array by tularis
| From: | tularis@php.net | Date: | Tue, 21 Jan 2003 21:07:49 +0000 |
| Subject: | note 28704 rejected from function.in-array by tularis | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-42536@lists.php.net to get a copy of this message | ||
devo paginar en php con MS SQL Server, no eh encontrado muchas respuestas yo me conecto atravez de
ODBC, por favor si alguien sabe como debe ser el codigo le pido si me pueden enviar un mail.
o ayudarme a corregir mi codigo que es
<?php
/* Funcion paginar
* actual: Pagina actual
* total: Total de registros
* por_pagina: Registros por pagina
* enlace: Texto del enlace
* maxpags: El máximo de páginas a presentar simultáneamente (opcional)
* Devuelve un texto que representa la paginacion
*/
function paginar($actual, $total, $por_pagina, $enlace, $maxpags=0) {
$total_paginas = ceil(6/20);
//$total_paginas = ceil($total/$por_pagina);
$anterior = $actual - 1;
$posterior = $actual + 1;
$minimo = $maxpags ? max(1, $actual-ceil($maxpags/2)): 1;
$maximo = $maxpags ? min($total_paginas, $actual+floor($maxpags/2)): $total_paginas;
if ($actual>1)
$texto = "<a href=\"$enlace$anterior\">«</a> ";
else
$texto = "<b>«</b> ";
if ($minimo!=1) $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>";
return $texto;
}
if (!isset($pag)) $pag = 1; // Por defecto, pagina 1
$tampag = 2; //cuantos registros quieres que se despleguen
$reg1 = ($pag-1) * $tampag;
// haces tu consulta
$conex = odbc_connect("MISERVER", "sa", "sa");
$consulta = "select COD_PAIS, COD_CORP, NUM_FIR, NOM_CLI, GRP_LEG from mibase.tmp_cliente where
cod_corp='corporacion' and cod_pais='ar'
order by cod_pais ";
//ejecuta la consulta sql
$resultado = odbc_do($conex, $consulta);
//$resultado = odbc_exec ($consulta);
// ve cuantos registros tiene la consulta sql
$total = odbc_num_rows ($resultado);
if (odbc_num_rows ($resultado))
{
//aca pones los datos que deseas desplegar
echo "<br>";
echo "<table border = '1'> \n";
echo "<tr>
<td align=center bgcolor='$color'>Codigo Pais</b></td>
<td align=center bgcolor='$color'>Codigo Corp.</b></td>
<td align=center bgcolor='$color'>Num Firma</b></td>
<td align=center bgcolor='$color'>Nombre Cliente</b></td>
<td align=center bgcolor='$color'>GRP_LEG </b></td>
</tr>\n";
for ($i=$reg1; $i<min($reg1+$tampag, $total); $i++) {
// no se cual sea el equivalente de
//mssql_data_seek para odbc tendrias que buscar en el manual de php www.php.net
mssql_data_seek($resultado, $i);
$row = odbc_fetch_array ($resultado);
echo "<tr><td>".$row["COD_PAIS"]."</td>".
"<td>".$row["COD_CORP"]."</td>".
"<td>".$row["NUM_FIR"]."</td>".
"<td>".$row["NOM_CLI"]."</td>".
"<td>".$row["GRP_LEG "]."</td>".
"<td>".$row["Pry_creacion"]."</td></tr> \n";
}
echo "</table> \n";
//llamo a la funcion
echo paginar($pag, $total, $tampag, "pag3.php?pag=");
}
else{
echo "¡ No se ha encontrado ningún registro !";}
echo "<div align='center'><a href ='c:\php4\pag3.php'>Volver al
Menu </a></div>";
odbc_free_result($resultado);
odbc_close($conex);
?>
gracias y saludos