Foros del Web » Programando para Internet » PHP »

Paginar con numeros

Estas en el tema de Paginar con numeros en el foro de PHP en Foros del Web. Hola, nos hicieron una página y ahora tenemos q hacerle cambios en la paginación y no se bien como hacerlo. Actualmente está paginado con flecha ...
  #1 (permalink)  
Antiguo 21/10/2011, 03:39
 
Fecha de Ingreso: octubre-2011
Ubicación: Andalucía
Mensajes: 2
Antigüedad: 12 años, 6 meses
Puntos: 0
Paginar con numeros

Hola, nos hicieron una página y ahora tenemos q hacerle cambios en la paginación y no se bien como hacerlo. Actualmente está paginado con flecha first,next, previous, last y queremos que cada resultado vaya en pag1, pag2, pag3...
Os pego el código para que me orienteis que debo modificar.

/* Conectamos DB y tal */
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}

$currentPage = $_SERVER["PHP_SELF"];

$maxRows_CursosGratuitos = 20;
$pageNum_CursosGratuitos = 0;
if (isset($_GET['pageNum_CursosGratuitos'])) {
$pageNum_CursosGratuitos = $_GET['pageNum_CursosGratuitos'];
}
$startRow_CursosGratuitos = $pageNum_CursosGratuitos * $maxRows_CursosGratuitos;

mysql_select_db($database_miconexion, $miconexion);
$query_CursosGratuitos = "SELECT * FROM cursos ORDER BY nombre asc";
$query_limit_CursosGratuitos = sprintf("%s LIMIT %d, %d", $query_CursosGratuitos, $startRow_CursosGratuitos, $maxRows_CursosGratuitos);
$CursosGratuitos = mysql_query($query_limit_CursosGratuitos, $miconexion) or die(mysql_error());
$row_CursosGratuitos = mysql_fetch_assoc($CursosGratuitos);

if (isset($_GET['totalRows_CursosGratuitos'])) {
$totalRows_CursosGratuitos = $_GET['totalRows_CursosGratuitos'];
} else {
$all_CursosGratuitos = mysql_query($query_CursosGratuitos);
$totalRows_CursosGratuitos = mysql_num_rows($all_CursosGratuitos);
}
$totalPages_CursosGratuitos = ceil($totalRows_CursosGratuitos/$maxRows_CursosGratuitos)-1;$maxRows_CursosGratuitos = 20;
$pageNum_CursosGratuitos = 0;
if (isset($_GET['pageNum_CursosGratuitos'])) {
$pageNum_CursosGratuitos = $_GET['pageNum_CursosGratuitos'];
}
$startRow_CursosGratuitos = $pageNum_CursosGratuitos * $maxRows_CursosGratuitos;

$colname_CursosGratuitos = "-1";
if (isset($_GET['idcurso'])) {
$colname_CursosGratuitos = $_GET['idcurso'];
}
mysql_select_db($database_miconexion, $miconexion);
$query_CursosGratuitos = sprintf("SELECT * FROM cursos WHERE tipo = %s ORDER BY nombre ASC", GetSQLValueString($colname_CursosGratuitos, "int"));
$query_limit_CursosGratuitos = sprintf("%s LIMIT %d, %d", $query_CursosGratuitos, $startRow_CursosGratuitos, $maxRows_CursosGratuitos);
$CursosGratuitos = mysql_query($query_limit_CursosGratuitos, $miconexion) or die(mysql_error());
$row_CursosGratuitos = mysql_fetch_assoc($CursosGratuitos);

if (isset($_GET['totalRows_CursosGratuitos'])) {
$totalRows_CursosGratuitos = $_GET['totalRows_CursosGratuitos'];
} else {
$all_CursosGratuitos = mysql_query($query_CursosGratuitos);
$totalRows_CursosGratuitos = mysql_num_rows($all_CursosGratuitos);
}
$totalPages_CursosGratuitos = ceil($totalRows_CursosGratuitos/$maxRows_CursosGratuitos)-1;

$queryString_CursosGratuitos = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_CursosGratuitos") == false &&
stristr($param, "totalRows_CursosGratuitos") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_CursosGratuitos = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString_CursosGratuitos = sprintf("&totalRows_CursosGratuitos=%d%s", $totalRows_CursosGratuitos, $queryString_CursosGratuitos);

// Initialize the Alternate Color counter
$ac_sw1 = 0;
?>
<!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=UTF-8" />
<title>Cursos Gratuitos <?php if (!empty($_GET[word2])) echo "de "; echo $_GET[word2]; ?> para trabajadores <?php if (!empty($_GET[word])) echo "en "; echo $_GET[word]; ?></title>
<link href="css/reset.css" rel="stylesheet" type="text/css" />




<link href="css/micss.css" rel="stylesheet" type="text/css" />



<script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
<link href="SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />
<link href="SpryAssets/SpryMenuBarVertical.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />

<script src="js/prototype.js" type="text/javascript"></script>
<script src="js/scriptaculous.js?load=effects,builder" type="text/javascript"></script>
<script src="js/lightbox.js" type="text/javascript"></script>

</head>

/* Paginamos */
Cursos subvencionados <?php if (!empty($_GET[word2])) echo "de "; echo $_GET[word2]; ?> para trabajadores <?php if (!empty($_GET[word])) echo "en "; echo $_GET[word]; ?>
</h1>
<h2> <?php echo $totalRows_CursosGratuitos ?> cursos disponibles.</h2>
<?php do { ?>
<table width="660" border="0" cellspacing="9">
<tr bgcolor="<?php echo ($ac_sw1++%2==0)?"#CCCCCC":"#FFFFFF"; ?>" onmouseout="this.style.backgroundColor=''" onmouseover="this.style.backgroundColor='#990000'" >
<td width="516"><li><a href="curso-<?php echo $row_CursosGratuitos['idcurso']; ?>-<?php echo str_replace(' ','_',$row_CursosGratuitos['nombre']); ?>-<?php if (!empty($_GET[word])) echo "en-"; echo $_GET[word]; ?>.html" title="<?php echo $row_CursosGratuitos['nombre']; ?> <?php if (!empty($_GET[word])) echo " en "; echo $_GET[word]; ?>" id="li"><?php echo $row_CursosGratuitos['nombre']; ?></a></li>
</td>
<td width="113"><?php if ($row_CursosGratuitos['pref'] == 3) {
echo ("A distancia");}
else{
echo ("Teleformación");
}; ?></td>
</tr>
</table>
<?php } while ($row_CursosGratuitos = mysql_fetch_assoc($CursosGratuitos)); ?>
<h6>&nbsp;</h6>
<h6><strong>Cursos <?php echo ($startRow_CursosGratuitos + 1) ?> a <?php echo min($startRow_CursosGratuitos + $maxRows_CursosGratuitos, $totalRows_CursosGratuitos) ?> de <?php echo $totalRows_CursosGratuitos ?> </strong></h6>
<table border="0">
<tr>
<td><?php if ($pageNum_CursosGratuitos > 0) { // Show if not first page ?>
<a href="<?php printf("%s?pageNum_CursosGratuitos=%d%s", $currentPage, 0, $queryString_CursosGratuitos); ?>"><img src="img/First.gif" /></a>
<?php } // Show if not first page ?></td>
<td><?php if ($pageNum_CursosGratuitos > 0) { // Show if not first page ?>
<a href="<?php printf("%s?pageNum_CursosGratuitos=%d%s", $currentPage, max(0, $pageNum_CursosGratuitos - 1), $queryString_CursosGratuitos); ?>"><img src="img/Previous.gif" /></a>
<?php } // Show if not first page ?></td>
<td><?php if ($pageNum_CursosGratuitos < $totalPages_CursosGratuitos) { // Show if not last page ?>
<a href="<?php printf("%s?pageNum_CursosGratuitos=%d%s", $currentPage, min($totalPages_CursosGratuitos, $pageNum_CursosGratuitos + 1), $queryString_CursosGratuitos); ?>"><img src="img/Next.gif" /></a>
<?php } // Show if not last page ?></td>
<td><?php if ($pageNum_CursosGratuitos < $totalPages_CursosGratuitos) { // Show if not last page ?>
<a href="<?php printf("%s?pageNum_CursosGratuitos=%d%s", $currentPage, $totalPages_CursosGratuitos, $queryString_CursosGratuitos); ?>"><img src="img/Last.gif" /></a>
<?php } // Show if not last page ?></td>

Se que es bastante código, si alguien puede ayudarme lo agradecería.
  #2 (permalink)  
Antiguo 21/10/2011, 14:06
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 7 meses
Puntos: 80
Respuesta: Paginar con numeros

Esta largo el código para mirar, pero por si te sirve te dejo un enlace con paginador con números...

Paginador

Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp

Etiquetas: html, mysql, numeros, paginar, sql
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 17:08.