Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/03/2015, 10:29
Avatar de binshmikertan
binshmikertan
 
Fecha de Ingreso: noviembre-2014
Mensajes: 23
Antigüedad: 9 años, 6 meses
Puntos: 0
Exclamación Error en sistema de paginacion PHP

tengo el siguiente codigo PHP

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("-"$date3);
    
$year $dia[0];
    
$month = (string)(int)$dia[1];
    
$day = (string)(int)$dia[2];
    
    
$dias = array("domingo","lunes","martes","mi&eacute;rcoles" ,"jueves","viernes","s&aacute;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("-"$date3);
    
$year $dia[0];
    
$month = (string)(int)$dia[1];
    
$day = (string)(int)$dia[2];
    
    
$dias = array("domingo","lunes","martes","mi&eacute;rcoles" ,"jueves","viernes","s&aacute;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("-"$date3);
    
$year $dia[0];
    
$month = (string)(int)$dia[1];
    
$day = (string)(int)$dia[2];
    
    
$dias = array("domingo","lunes","martes","mi&eacute;rcoles" ,"jueves","viernes","s&aacute;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)."'>&laquo; 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 &raquo;</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 &copy;</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>
El problema son dos uno de ellos es que cuando ingreso al boton inicio me sale este error proveniente de el codigo de paginacion

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