Ayuda con Paginacion PHP

Saludos.

Mi problema es que quiero crear una paginacion simple que muestre los datos de una tabla de forma ordenada y la cual yo pueda ir actualizando, no conosco mucho con respecto al PHP, solo cosas basicas que he aprendido por mi cuenta y con ayuda de esta web, para realizar la paginacion use una guia asi que tecnicamente use un codigo que alguien compartio y lo modifique de la manera que yo deseaba, los resultados se muestran, sin embargo no puedo cambiar de pagina, bueno para que quede mas claro a continuacion pongo una pagina de ejemplo con el paginado para que vean ustedes mismos:

http://acciongamers.com/paginacion.php

es solo una pagina que muestra unicamente el resultado

y el codigo:


<?php
// Datos de conexión a la base
$base="Cuack19";
$con=mysql_connect("localhost","","");
mysql_select_db($base,$con);

if (!isset($pg))
$pg = 0; // $pg es la pagina actual
$cantidad=5; // cantidad de resultados por página
$inicial = $pg * $cantidad;

$pegar = "SELECT * FROM portada ORDER BY ID DESC LIMIT $inicial,$cantidad";
$cad = mysql_db_query($base,$pegar) or die (mysql_error());

$contar = "SELECT * FROM portada ORDER BY ID DESC"; 
$contarok= mysql_db_query($base,$contar);
$total_records = mysql_num_rows($contarok);
$pages = intval($total_records / $cantidad);

// Imprimiendo los resultados
while($array = mysql_fetch_array($cad)) {
echo "<p align='center'><b><font size='5' color='#0000FF'>".$array['TITULO']."</font></b></p><br><br>";
echo "<p align='center'><b><font>".$array['TEXTO']."</font></b></p><br><br>";
} 

// Cerramos la conexión a la base
$con=mysql_close($con);

// Creando los enlaces de paginación
echo "<p class=fonty>"; 
if ($pg != 0) { 
$url = $pg - 1; 
echo "<a href='$PHP_SELF?pg=".$url."'>&laquo; Anterior</a>&nbsp;"; 
} else { 
echo " "; 
} 
for ($i = 0; $i <= $pages; $i++) { 
if ($i == $pg) { 
if ($i == "0") { 
echo "<b> 1 </b>"; 
} else { 
$i = $i+1; 
echo "<b> ".$i." </b>"; 
} 
} else { 
if ($i == "0") { 
echo "<a href=$PHP_SELF?pg=".$i.">1</a> "; 
} else { 
echo "<a href='$PHP_SELF?pg=".$i."'>"; 
$i = $i+1; 
echo $i."</a>&nbsp;"; 
} 
} 
} 
if ($pg < $pages) { 
$url = $pg + 1; 
echo "<a href='$PHP_SELF?pg=".$url."'>Siguiente &raquo;</a>"; 
} else { 
echo " "; 
} 
echo "</p>"; 
?>


Cualquier ayuda se agradece.
Cuack escribió:Saludos.

Mi problema es que quiero crear una paginacion simple que muestre los datos de una tabla de forma ordenada y la cual yo pueda ir actualizando, no conosco mucho con respecto al PHP, solo cosas basicas que he aprendido por mi cuenta y con ayuda de esta web, para realizar la paginacion use una guia asi que tecnicamente use un codigo que alguien compartio y lo modifique de la manera que yo deseaba, los resultados se muestran, sin embargo no puedo cambiar de pagina, bueno para que quede mas claro a continuacion pongo una pagina de ejemplo con el paginado para que vean ustedes mismos:

http://acciongamers.com/paginacion.php

es solo una pagina que muestra unicamente el resultado

y el codigo:


<?php
// Datos de conexión a la base
$base="Cuack19";
$con=mysql_connect("localhost","","");
mysql_select_db($base,$con);

if (!isset($pg))
$pg = 0; // $pg es la pagina actual
$cantidad=5; // cantidad de resultados por página
$inicial = $pg * $cantidad;

$pegar = "SELECT * FROM portada ORDER BY ID DESC LIMIT $inicial,$cantidad";
$cad = mysql_db_query($base,$pegar) or die (mysql_error());

$contar = "SELECT * FROM portada ORDER BY ID DESC"; 
$contarok= mysql_db_query($base,$contar);
$total_records = mysql_num_rows($contarok);
$pages = intval($total_records / $cantidad);

// Imprimiendo los resultados
while($array = mysql_fetch_array($cad)) {
echo "<p align='center'><b><font size='5' color='#0000FF'>".$array['TITULO']."</font></b></p><br><br>";
echo "<p align='center'><b><font>".$array['TEXTO']."</font></b></p><br><br>";
} 

// Cerramos la conexión a la base
$con=mysql_close($con);

// Creando los enlaces de paginación
echo "<p class=fonty>"; 
if ($pg != 0) { 
$url = $pg - 1; 
echo "<a href='$PHP_SELF?pg=".$url."'>&laquo; Anterior</a>&nbsp;"; 
} else { 
echo " "; 
} 
for ($i = 0; $i <= $pages; $i++) { 
if ($i == $pg) { 
if ($i == "0") { 
echo "<b> 1 </b>"; 
} else { 
$i = $i+1; 
echo "<b> ".$i." </b>"; 
} 
} else { 
if ($i == "0") { 
echo "<a href=$PHP_SELF?pg=".$i.">1</a> "; 
} else { 
echo "<a href='$PHP_SELF?pg=".$i."'>"; 
$i = $i+1; 
echo $i."</a>&nbsp;"; 
} 
} 
} 
if ($pg < $pages) { 
$url = $pg + 1; 
echo "<a href='$PHP_SELF?pg=".$url."'>Siguiente &raquo;</a>"; 
} else { 
echo " "; 
} 
echo "</p>"; 
?>


Cualquier ayuda se agradece.


Hola mira te este codigo que te falta me lo dio un amigo del foro

if( isset( $_GET['pg'] ) && is_numeric( $_GET['pg'] ) ) // pagina es la pagina actual
$pg = $_GET['pg'];
else

ba aqui

<?php
// Datos de conexión a la base
$base="Cuack19";
$con=mysql_connect("localhost","","");
mysql_select_db($base,$con);

if( isset( $_GET['pg'] ) && is_numeric( $_GET['pg'] ) ) 
// pagina es la pagina actual
$pg = $_GET['pg'];
else
$pg = 0; // 
$pg es la pagina actual
$cantidad=5; // cantidad de resultados por página
$inicial = $pg * $cantidad;

$pegar = "SELECT * FROM portada ORDER BY ID DESC LIMIT $inicial,$cantidad";
$cad = mysql_db_query($base,$pegar) or die (mysql_error());

$contar = "SELECT * FROM portada ORDER BY ID DESC"; 
$contarok= mysql_db_query($base,$contar);
$total_records = mysql_num_rows($contarok);
$pages = intval($total_records / $cantidad);

// Imprimiendo los resultados
while($array = mysql_fetch_array($cad)) {
echo "<p align='center'><b><font size='5' color='#0000FF'>".$array['TITULO']."</font></b></p><br><br>";
echo "<p align='center'><b><font>".$array['TEXTO']."</font></b></p><br><br>";
} 

// Cerramos la conexión a la base
$con=mysql_close($con);

// Creando los enlaces de paginación
echo "<p class=fonty>"; 
if ($pg != 0) { 
$url = $pg - 1; 
echo "<a href='$PHP_SELF?pg=".$url."'>&laquo; Anterior</a>&nbsp;"; 
} else { 
echo " "; 
} 
for ($i = 0; $i <= $pages; $i++) { 
if ($i == $pg) { 
if ($i == "0") { 
echo "<b> 1 </b>"; 
} else { 
$i = $i+1; 
echo "<b> ".$i." </b>"; 
} 
} else { 
if ($i == "0") { 
echo "<a href=$PHP_SELF?pg=".$i.">1</a> "; 
} else { 
echo "<a href='$PHP_SELF?pg=".$i."'>"; 
$i = $i+1; 
echo $i."</a>&nbsp;"; 
} 
} 
} 
if ($pg < $pages) { 
$url = $pg + 1; 
echo "<a href='$PHP_SELF?pg=".$url."'>Siguiente &raquo;</a>"; 
} else { 
echo " "; 
} 
echo "</p>"; 
?>

con eso te funcionara creo que podria tener algun fallo ese escript en los numeros porque cuando pasas de pagina algunos no se ven pero no estoy bien seguro un saludo
Gracias amigo, ahora la paginacion funciona muy bien, sobre el script tienes razon hay pequeño fallo ahi pero solo en los numeros el contenido se muestra bien, ahora mismo me pongo a solucionar eso.

PD: MUCHAS GRACIAS =D
Hola, soy yo de nuevo, decidi cambiar el codigo de paginacion por uno mas simple:

<?php
include_once("config.php");
$cant_reg=7;  //numero de registros
$num_pag=$_GET['pag']; //numero de pagina actual

if (!$num_pag)
 {
	$comienzo=0;
	$num_pag=1; 
 }
 else
 {
	$comienzo=($num_pag-1)*$cant_reg; 
 }


$conexion=mysql_connect($server,$db_user,$db_pass) or
         die ("Problemas de conexion");
mysql_select_db($db,$conexion) or
   die ("Problemas en la seleccion de la base de datos");

$resultado=mysql_query("SELECT COUNT(*)FROM portada");
$total_reg=mysql_num_rows($resultado);
   
$resultado=mysql_query("SELECT TITULO,TEXTO FROM portada ORDER BY ID DESC LIMIT $comienzo,$cant_reg",$conexion);

$total_paginas=ceil($total_reg/$cant_reg);

while($reg=mysql_fetch_array($resultado))
{
	echo $reg['TITULO'];
	echo "<br><br>";
	echo $reg['TEXTO'];
	echo "<br><br><hr><br>";
}

mysql_close($conexion);

if(($num_pag-1)>0)
{
	echo "<a href='paginacion.php?pag=".($num_pag-1)."'>< Anterior</a>";
}


for ($i=1; $i<=$total_paginas; $i++)
{
	if ($num_pag == $i)
	{
		echo "<b><p class='style1>Página ".$num_pag."'</b> ";
	}
	else
	{
		echo "<a href='paginacion.php?pag=".$i."'>".$i."</a>";
	}
}


if(($num_pag + 1)<=$total_paginas)
{
	echo "<a href='paginacion.php?pag=".($num_pag+1)."'>Siguiente ></a>";
}
?>

http://acciongamers.com/paginacion.php

Este codigo em parece mas sencillo, comodo y de facil comprension.
en fin, el problema ahora es que no me aparecen los enlaces para cambiar las paginas, y nose cual sea el problema, espero alguien me peuda ayudar.

Gracias
Hola Cuack, tengo el mismo codigo que tu y tambien tengo el mismo problema, no sale el enlace para la siguiente pagina ó la anterior.
Yo aun estoy verde en php, aunque haga mis pinitos, pero no alcanzo a ver el fallo. A ver si algun GURU de php lo ve y nos lo indica.
Lo mejor de caerse al tropezar, es volverse a levantar.
pues puedes probar de cambiar esto en la parte de pagina anterior:

if(($num_pag-1)>0)

por esto:
if($num_pag>0)

y esto en las paginas siguientes

if($num_pag <=$total_paginas)
Bueno estrujandome la mollera he llegado a una solucion, aunque no es del todo de mi gusto ya que los enlaces para las paginas siguiente y anterior no aparecen donde yo quisiera, al menos ya aparecen.
Asi me ha quedao:
if(($num_pag-1)>1){
echo "<b><p class='style1'>Página ".$num_pag."</b>\n";
echo "<a href='paginacion.php?pagina=".($num_pag-1)."'>< Anterior</a>";
}
else{
for ($i=1; $i<=$total_paginas; $i++){
echo "<b><p class='style1'>Página ".$num_pag."</b>\n";
echo "<a href='paginacion.php?pagina=".($num_pag+1)."'> Siguiente ></a>";
}
if(($num_pag+1)<=$total_paginas)
{
echo "<a href='paginacion.php?pagina=".($num_pag-1)."'>< Anterior</a>";
}
if ($num_pag == $i){
echo "<a href='paginacion.php?pagina=".($num_pag-1)."'>< Anterior</a>";
}
echo "</center>";
}

Si hay una solucion mejor, encantao de recibirla.