Código PHP:
<?php
include('conexion/conexion.php');
$querynoticias="select a.Id,a.Titulo,a.FechaPublicacion,b.Nombre as 'Categoria',c.Nick from noticia a inner join categoria b on a.IdCategoria=b.Id inner join usuario c on a.IdUsuario=c.Id order by a.FechaPublicacion DESC";
$result= $mysqli->query($querynoticias);
$querycat="select * from categoria";
$resultc=$mysqli->query($querycat);
class fecha{
public static function mes($date) {
$dia = explode("-", $date, 3);
$year = $dia[0];
$month = (string)(int)$dia[1];
$day = (string)(int)$dia[2];
$dias = array("domingo","lunes","martes","miércoles" ,"jueves","viernes","sábado");
$tomadia = $dias[intval((date("w",mktime(0,0,0,$month,$day,$year))))];
$meses = array("", "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic");
return $meses[$month];
}
public static function day($date) {
$dia = explode("-", $date, 3);
$year = $dia[0];
$month = (string)(int)$dia[1];
$day = (string)(int)$dia[2];
$dias = array("domingo","lunes","martes","miércoles" ,"jueves","viernes","sábado");
$tomadia = $dias[intval((date("w",mktime(0,0,0,$month,$day,$year))))];
$meses = array("", "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic");
return $day;
return $tomadia." ".$day." de ".$meses[$month]." de ".$year;
}
public static function año($date) {
$dia = explode("-", $date, 3);
$year = $dia[0];
$month = (string)(int)$dia[1];
$day = (string)(int)$dia[2];
$dias = array("domingo","lunes","martes","miércoles" ,"jueves","viernes","sábado");
$tomadia = $dias[intval((date("w",mktime(0,0,0,$month,$day,$year))))];
$meses = array("", "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic");
return $year;
}
}
// CODIGO DE PAGINACION
$registros=1;
$pagina = $_GET ['pagina'];
if (!isset($pagina))
{
$pagina = 1;
$inicio = 0;
}
else
{
$inicio = ($pagina-1) * $registros;
}
$pegar = "SELECT * FROM noticia ORDER BY Id ASC LIMIT ".$inicio." , ".$registros." ";
$cad = $mysqli->query($pegar);
//calculamos las paginas a mostrar
$contar = "SELECT * FROM noticia";
$contarok = $mysqli->query($contar) or die(mysql_error());
$total_registros = $contarok->num_rows;
$total_paginas = ($total_registros / $registros);
?>
<!doctype html>
<html>
<head>
<meta charset="iso-8859-1">
<title>Aprendiendo|a|programar|Inicio</title>
<link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon">
<link rel="stylesheet" href="css/estyle.css" type="text/css">
</head>
<header>
<div class="center_h">
<img src="img/banner.png" width="800" height="200">
</div>
</header>
<body>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<nav class="menu">
<div class="center_m">
<a href="index.php"><li class="item_m_on">Inicio</li></a>
<a href="index.php"><li class="item_m_on">Contacto</li></a>
</div>
</nav>
<div id="principal">
<div id="leftt">
<?php
echo "<center><p>";
if($total_registros>$registros){
if(($pagina - 1) > 0) {
echo "<span class='pactiva'><a href='?pagina=".($pagina-1)."'>« Anterior</a></span> ";
}
// Numero de paginas a mostrar
$num_paginas=10;
//limitando las paginas mostradas
$pagina_intervalo=ceil($num_paginas/2)-1;
// Calculamos desde que numero de pagina se mostrara
$pagina_desde=$pagina-$pagina_intervalo;
$pagina_hasta=$pagina+$pagina_intervalo;
// Verificar que pagina_desde sea negativo
if($pagina_desde<1){ // le sumamos la cantidad sobrante para mantener el numero de enlaces mostrados $pagina_hasta-=($pagina_desde-1); $pagina_desde=1; } // Verificar que pagina_hasta no sea mayor que paginas_totales if($pagina_hasta>$total_paginas){
$pagina_desde-=($pagina_hasta-$total_paginas);
$pagina_hasta=$total_paginas;
if($pagina_desde<1){
$pagina_desde=1;
}
}
for ($i=$pagina_desde; $i<=$pagina_hasta; $i++){
if ($pagina == $i){
echo "<span class='pnumero'>".$pagina."</span> ";
}else{
echo "<span class='pactiva'><a href='?pagina=$i'>$i</a></span> ";
}
}
if(($pagina + 1)<=$total_paginas) {
echo " <span class='pactiva'><a href='?pagina=".($pagina+1)."'>Siguiente »</a></span>";
}
}
echo "</p></center>";
// FIN CODIGO DE PAGINACION
//comienzo post
if($row=$result->fetch_assoc()){
do{
$fill="SELECT * FROM visitas WHERE Idnoticia=".$row['Id']."";
$resut=$mysqli->query($fill);
$rowv=$resut->num_rows;
$fill0="SELECT * FROM comentario WHERE Idnoticia=".$row['Id']."";
$resut0=$mysqli->query($fill0);
$rowcom=$resut0->num_rows;
?>
<div class="section_l">
<div id="tittle_h">
<?php
echo "<a href='post.php?id=".$row['Id'].'/'.$row['Titulo'].".html' >".$row['Titulo']."</a>";
?>
</div>
<div id="post_info">
<span class="in_txt" style="padding-left:55px;"><img class="h_img" src="img/author.png" width="14" height="14"><b>Usuario : <?php echo $row['Nick'] ?></b></span>
<span class="in_txt" ><img class="h_img" src="img/cate.png" width="14" height="14"><b> Categoria : <?php echo $row['Categoria'] ?></b></span><span><b>Visitas : <?php echo $rowv; ?> </b></span><span><b>Comentarios : <?php echo $rowcom; ?> </b></span>
<div class="dateicon">
<div class="dateicon-month"><?php $fecha=$row['FechaPublicacion']; echo fecha::mes($fecha);?></div>
<div class="dateicon-day"><?php $fecha=$row['FechaPublicacion']; echo fecha::day($fecha);?></div>
<b><div class="dateicon-years"><?php $fecha=$row['FechaPublicacion']; echo fecha::año($fecha);?></div></b>
</div>
</div>
</div>
<?php
}while($row=$result->fetch_assoc());
}
else{
echo 'No hay registros!';
}
//fin de post
?>
<center><footer><b>DERECHOS RESERVADOS SUPERMASH 2014 ©</b></footer></center>
</div>
<div id="rigthh">
<div id="sectio_r">
<form id="form1" name="form1" method="get" action="http://d2.datoweb.com/resultados.php">
<label for="buscar"></label>
<input type="text" name="buscar" id="buscar" placeholder="Buscar.." />
<input type="submit" value="" class="btn_b" />
</form>
</div>
<div id="sectio_r"><div id="side_r">Categorias</div>
<div id="txt_side">
<?php
if($rowc=$resultc->fetch_assoc()){
do{
echo "<li>
<a href='categoria.php?id=".$rowc['Id'].".html'>".$rowc['Nombre']."</a>
</li>";
}while($rowc=$resultc->fetch_assoc());
}
else{
echo 'No hay registros!';
}
?>
</div>
</div>
<div id="sectio_r"><div id="side_r">Redes Sociales</div>
<div id="txt_side">
<img src="img/facebook.png" width="150" height="80">
<img src="img/youtube.png" width="150" height="80">
</div>
</div>
</div>
</body>
</html>
Notice: Undefined index: pagina in C:\wamp\www\aprendiendoaprogramar\index.php on line 62
y segundo es que el numero de noticias o post no se adapta al numero de paginas es decir si tengo 4 noticias y indico que sea una noticia por cada pagina o ala inversa muestro las 4 noticias en una sola pagina o tambien mostrar 2 noticias por cada pagina hasta hacer un total de 2 paginas.
espero me puedan ayudar y espero darme a entender Saludos
![Aplauso](http://static.forosdelweb.com/fdwtheme/images/smilies/aplausos.gif)
![sonriente](http://static.forosdelweb.com/fdwtheme/images/smilies/smile.png)