paginacion php

Hola!

Primero que nada, utiliza las etiquetas
código aquí
(para código en general - permite colorear el código),
código aquí
o
código aquí
para envolver tu código según corresponda (reemplazando 'código aquí' con tu código).

Segundo, revisa los registros de error de PHP y publícalos aquí.

Y por último, muestra las variables que recibes de los formularios (en el navegador) cuando necesites saber qué pasa. Por ejemplo:

echo $pagina; // Esto debe ir después de asignar el valor de $_GET

De esta forma sabrás que estás recibiendo (o lo que falta).
Buenas,

Amigo un par de cosas primero (no te lo tomes a mal estos son consejos que te facilitaran el desarrollo en el futuro en gran medida)

1 Acostumbrémonos a siempre utilizar doble espacio cada vez que iniciemos un if o abramos un corchete
$a
if($a <= 0)
{
  $b
  if($b <= 5)
  {
  
  }
}
En mi opinión es mejor para ordenar códigos php que el tabulador y nos permite detectar errores de orden de ejecución mas rápidamente ejemplo

2 poner filtros antes de un get o post
function captura($a)
{
  return (preg_replace('/[^0-9]+/', '', $_REQUEST[$a]));
}

if( isset( captura('index') ) ) 

de esta forma evitamos que algún código malicioso nos dañe la página y de paso filtramos que solo se acepten números sin utilizar un if

3 variables de configuración en el inicio del documento
$cantidad = 7;
De esta manera podrías cambiar estas variables en un futuro más rápidamente.

4 JAMAS y NUNCA te conectes a la base de datos sin antes filtrar que el documento está siendo usado apropiadamente
<?php
$base = "aupalega";
$con=@mysql_connect("******", "*****", "*****"); 
@mysql_select_db($base,$con);
Con esto más el hecho de la falta de filtro permite que alguien alerte tu base de datos con algún código malicioso.
En tu caso recomiendo definir esto justo después del if ya que con la función captura eliminamos cualquier código malicioso.
if( isset(captura('index') ) ) 
$index = captura('index');
else 
$index = 0;

$base = "aupalega";
$con=@mysql_connect("******", "*****", "*****"); 
@mysql_select_db($base,$con);
5 jamás usar en php la doble comillas en su lugar usa la comilla sola.
Echo '<div id="contenedor" ><a id="link">asd</a></div>';
Así evitas choques al tener que usarlas para definir un código html

Esto es todo por el momento sobre los consejos de desarrollo, sé que puede ser tedioso pero créeme te ahorrara horas de búsqueda de errores, te lo dice un amigo que aprendió a la mala xD


En cuanto a la paginación solo pude notar que no definiste bien el estilo cuando definiste uno de los elementos.
echo "<p class=fuente>"; 
deberías poner algo así
[php]
echo '<p class="fuente">'; 

Del resto solo le hace falta algo de optimización y limpieza pero eso es otro tema.
(Me tarde 2 horas escribiendo esto que lento soy xP)
Gracias x todo pero si pongo el codigo de captura me da error en el servidor.

y la solucion q mas busco q es poner esa paginacion diseñada mmmm sigo igual q antes :)
nada por mas q intento meter mi diseño con mi imagenes y mis titulares en plan bonito me da error todo el rato.
2 cosas amigo.

1. Por favor indícanos que errores te da, según entiendo tu servidor tiene ciertas configuraciones de seguridad algo incomodas para el desarrollo, pero no estoy seguro ya que no tengo los errores.
2. El código de captura ciertamente está mal escrito pido disculpas por eso, el código correctamente arreglado va así

function captura($a)
{
  return (preg_replace('/[^0-9]+/', '', $_REQUEST[$a]));
} 

Como ves asta alguien con varios años de experiencia puede tener pelones tontos como cambiar un "[" por una "(" y no colocar la expresión correcta de filtro.
ok gracias luego lo miro, mi duda es ya sobre como hacer q aparezca el texto y la imagen en la noticia en plan colocado y bonito como viene abajo www.aupaleganes.com/index1.php

porq intento meter mis div y me da error 500
Una forma de hacerlo es poniendo lo siguiente al comienzo de tu archivo PHP:

error_reporting (E_ALL);

Otra forma sería revisando los archivos de registro, que están en la ruta de instalación del servidor (o a través de CPanel), dentro de una carpeta llamada logs (el archivo se llama php_error.log).
y ya se q es una locura pero y si quiero tener una imagen distinta como lo hago xq ya solo se me ocurre ir copiando una a una cada noticia mostrarla y solo ir cambiando la id xq la paginacion si me lo hace bien es desesperante perder todo un dia cambiando codigo y no conseguir nada :____(
amm amigo no entiendo a qué error te refieres, especifica mejor tu pregunta.

Aparte sobre tener múltiples imágenes, en donde y para que las necesitas?

Por ultimo amigo mío esto es lo divertido de programar pasar varios días intentando resolver algo y cuando por fin lo consigues te sientes el mejor programador del mundo jaja xD.
jaja si ya se q uno se sube cuando avanza con una coma, a lo q me refiero es q en el codigo q puse ultimo intento q me salga todo eso junto con la paginacion pero no consigo

en www.aupaleganes.com/index.php lo tengo sin paginacion y lo q quiero q tal como esta tenga paginacion.
Disculpa la tardanza en responder pero sabes es navidad jeje xD.

En cuanto a tu código pues la razón es fácil hay un "else" mal usado

$index = $_GET['index'];
else 
$index = 0;  

El "else" es un condicional (se interpreta: de lo contrario) no funciona si no está después de un if (se interpreta: ¿si?). Como lo tenías antes estaba bien pero agrega la función de filtro.
function captura($a)
{
  return (preg_replace('/[^0-9]+/', '', $_REQUEST[$a]));
}  

if( isset( captura('index') ) )  
  $index = $_GET['index'];
else 
  $index = 0;  
Ahora para el menú, es necesario reescribir algunas cosas. La razón son 2:
1. La estructura html a replicar no está clara.
2. no estas dividiendo correctamente los valores.

Para resolver esos problemas no queda de otra si no re escribir. Empecemos con el html.

El menú no es más que una lista así que debemos definirla como una.

<nav id="menuPaginacion">
  <li>
    <ul>
      <a  href=""> << Anterior </a>
    </ul>
    <ul>
      <a  href=""> 1 </a>
    </ul>
    <ul>
      <a  href=""> 2 </a>
    </ul>
    <ul>
      <a  href=""> Siguiente >> </a>
    </ul>
  </li>
</nav>
Te recomiendo que coloques este código así como esta en tu html, le configures un buen diseño con css y después es que lo pases con el php.

Para el php el principal cambio debe ser la manera como defines el número máximo de páginas. Estas usando la función "@intval" la cual solo te devuelve un entero pero que pasa si tienes 25 post en teoría al dividirlo por 10 te daría 2.5 lo cual significar que tienes 2 páginas de 10 post completas y una por la mitad. Si usas "@intval" para definir el maximo de páginas te devolvería un total de 2 y no 3. Impidiéndote mostrar los últimos 5 post. En su lugar usa la función "ceil" que te redondea asía arriba los números decimales. Dejando algo así.

$pages = ceil($total_records / $cantidad);

Para el código que defina el menú, no le veo errores a simple vista (aparte d cambiar el código html). Te recomiendo aplicar lo que te indique y después nos avisas como te fue.