Foros del Web » Programando para Internet » PHP »

PHP OO Error en sistema de paginacion PHP

Estas en el tema de Error en sistema de paginacion PHP en el foro de PHP en Foros del Web. 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 = ...
  #1 (permalink)  
Antiguo 11/03/2015, 10:29
Avatar de binshmikertan  
Fecha de Ingreso: noviembre-2014
Mensajes: 23
Antigüedad: 9 años, 5 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
  #2 (permalink)  
Antiguo 11/03/2015, 10:49
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Error en sistema de paginacion PHP

Reutiliza: http://www.forosdelweb.com/f18/paginacion-1122484/
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: mysql, mysqli
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 04:28.