Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Error en mi paginacion :(

Estas en el tema de Error en mi paginacion :( en el foro de PHP en Foros del Web. Hola que tal como estan todos ps soy nuevo programando en php hace tiempo empeze un proyecto y me eh atorado en donde va la ...
  #1 (permalink)  
Antiguo 16/08/2013, 16:33
 
Fecha de Ingreso: junio-2007
Mensajes: 2
Antigüedad: 16 años, 10 meses
Puntos: 0
Error en mi paginacion :(

Hola que tal como estan todos ps soy nuevo programando en php hace tiempo empeze un proyecto y me eh atorado en donde va la paginacion quisiera ver cual es es error si me pueden ayudar el codigo es este

Código PHP:
<?php 

include("conexion.php");

if (isset(
$_GET['pagina']))
    {
        
$CurPage $_GET['pagina'];
    }
    else
    {
        
$CurPage 0;
    }
    
## Rows Per Page
    
$rowspage 5;

    
$start $CurPage $rowspage;
        
        
$query="SELECT * FROM datos WHERE id = '".$_GET['id']."'";
        
## Count Rows to calculate pages
        
$tr mysql_query("SELECT count(id) FROM datos order by id desc");
        list(
$totalrecords)=mysql_fetch_row($tr);
        
## find last page
        
$lastpage ceil($totalrecords/$rowspage);
        
$count 0;//the count for total rows
        
$result=mysql_query($query,$conexion); 
        
$num mysql_num_rows ($result);
        if (
$num ) {
        echo 
'<table align="center" border="0" width="800" height="550" background="../img/page_bg.png">';
        
$i=0;
        while (
$i $num) {    
        
        
$id mysql_result($result,$i,"id");
        
$titulo mysql_result($result,$i,"titulo");
        
$portada mysql_result($result,$i,"portada");
        
$codigo mysql_result($result,$i,"codigo");
        
$precio mysql_result($result,$i,"precio");

}
    echo 
'<td align="center" background="../img/footer-bg.png">';
    echo
'<div id="post">';
    echo
'<div id="precio">';
    echo 
$precio;
    echo
'</div>';
    echo
'<div id="imgpost">';
    echo
'<a href="http://www.forosdelweb.com/f18/poster/timthumb.php?src=galeria/portada/'.$portada.'&w=655&h=440">';
    echo
'<img src="http://www.forosdelweb.com/f18/poster/timthumb.php?src=galeria/portada/'.$portada.'" height="150" width="200" style="border-top-left-radius:1em;border-top-right-radius:1em;border-bottom-right-radius:1em;box-shadow : inset 0 0 5px 0    black;"></a>';
    echo
'</div>';
    echo
'<div id="vermas">';
    echo
'<a href="borrarfoto.php?codigo='.$codigo.'">Ver Mas</a>';
    echo
'</div>';
    echo
'<div id="postitulo" align="center">';
    echo 
$titulo;
    echo
'</div>';
    echo
'</div>';
    echo
'</td>';
    ++
$i
        }
//end while
        
echo '</table>';
     


    
## Create Links.
    
if ($CurPage == $lastpage)
    {
        
$next "Siguiente";
    }
    else
    {
        
$nextpage $CurPage 1;
        
$next '<a href="/index.php?pagina='.$nextpage.'">Siguiente >></a>';
    }
    if (
$CurPage == 0)
    {
        
$prev "Anterior";
    }
    else
    {
        
$prevpage $CurPage 1;
        
$prev '<a href="/index.php?pagina='.$prevpage.'"><< Anterior</a>';
    }
    
## Display Link ##
    
$plinkprev $prev;
    
$plinknext $next;
    
$count 1;
    if(
$CurPage=='0'){
        
$p $CurPage+1;
    }elseif(
$CurPage=='1'){
        
$p $CurPage;
    }elseif(
$CurPage=='2'){
        
$p $CurPage-1;
    }else{
        
$p $CurPage-2;
    }
    
$p1 $CurPage-2;
?>
<table align="center"><tr><td>    
<div class="paginate" style="width:600px" align="center">
<?php echo $plinkprev;?> 
<?php
    
while($p <= $p1+10 and $p <= $lastpage){
        
$pmin $p-1;        
        echo 
'<a href="/index.php?pagina='.$pgn[$count]['ap'] = $pmin.'">';
        echo 
$pgn[$count]['pg'] = $p;
        echo 
'</a> ';
        
$p++;
        
$count++;
    }
?>
<?php 
echo $plinknext;?>
</div>
</td></tr></table>
Y me da el siguiente error
Notice: Undefined index: id in C:\Program Files (x86)\EasyPHP-12.1\www\proyecto\admin\index.php on line 74

esa linea es esta
Código:
$query="SELECT * FROM datos WHERE id = '".$_GET['id']."'";
Ojala alguien me pueda decir mi error talvez sea algo sencillo o no sea nada pero yo no le encuentro :( o algun manual para entender bien la paginacion yo eh buscado muchos pero todos son tan diferentes bueno de antemano muchas gracias
  #2 (permalink)  
Antiguo 16/08/2013, 21:54
 
Fecha de Ingreso: julio-2013
Ubicación: Free Help :)
Mensajes: 14
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: Error en mi paginacion :(

Agrega este código en la cabecera de tu script:
@error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
  #3 (permalink)  
Antiguo 17/08/2013, 11:28
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: Error en mi paginacion :(

El error que te da es porque la variable $_GET['id'] no esta definida, pon esto en la cabecera

Código PHP:
Ver original
  1. $id = ! empty($_GET['id']) ? $_GET['id'] : NULL;

Y en la consulta cambia $_GET['id'] por $id, aunque para la paginacion no es necesario hacer una consulta para mosrrar los datos segun el id, cambia la consulta por esto

Código PHP:
Ver original
  1. $query = "SELECT * FROM datos ORDER BY id DESC";
  2. //O puedes poner ASC en vez de DESC

Segun quieraa mostrar el primer o ultimo registro de la tabla
  #4 (permalink)  
Antiguo 21/08/2013, 12:22
 
Fecha de Ingreso: junio-2007
Mensajes: 2
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Error en mi paginacion :(

Que tal amigos ps al final con esa paginacion no pude pero les dejo el codigo que adapte que lo vi por aqui la verda no se de quien era de tanto que vi pero este me funciono muy bien pero creditos aquien los meresca

Código PHP:
<div id="cuerpo"><!--cuerpo empieza-->


<div id="contenido"><!--contenido empieza-->

<?php 

include("conexion.php");




$columns 4;
$RegistrosAMostrar 8;
if(isset(
$_GET['page'])) {
    
$RegistrosEmpezar=($_GET['page']-1)*$RegistrosAMostrar;
    
$PaginaActual=$_GET['page'];
} else {
    
$RegistrosEmpezar=0;
    
$PaginaActual=1;
}




$query="SELECT * FROM datos ORDER by id DESC LIMIT $RegistrosEmpezar, $RegistrosAMostrar";

$result mysql_query($query);

$num_rows mysql_num_rows($result);
?>


<table class="post" >

<?php 
for($i 0$i $num_rows$i++) {
      
      
$row mysql_fetch_array($result);
      
$titulo=$row['titulo'];
      
$portada=$row['portada'];
      
$codigo=$row['codigo'];
      
$precio=$row['precio'];
      
      if(
$i $columns == 0) {
            
            echo 
"<tr>\n";
}
?>


<td background="img/footer-bg.png">
<div id="post">
<div id="precio">
<?php echo $precio?>
</div>
<div id="imgpost">
<a href='poster/timthumb.php?src=galeria/portada/<?php echo $portada?>&w=655&h=440'>
<img src='poster/timthumb.php?src=galeria/portada/<?php echo $portada?>' height="150" width="200" style="border-top-left-radius:1em;border-top-right-radius:1em;border-bottom-right-radius:1em;box-shadow : inset 0 0 5px 0 black;"></a>
</div>

<div id="vermas">
<a href='admin/borrarfoto.php?codigo=<?php echo $codigo?>'>Ver Mas</a>
</div>
<div id="postitulo" align="center">
<?php echo $titulo?>
</div>
 </div>

</td>

 
 <?php   
    
    
     
      
if(($i $columns) == ($columns 1) || ($i 1) == $num_rows) {
            
            echo 
"</TR>\n";
  }
}
echo 
"</table>\n";

?>

<div class="paginacion"  align="center">


<?php 
$NumeroRegistros
=mysql_num_rows(mysql_query("SELECT * FROM datos"));
$PaginaAnteior=$PaginaActual-1;
$SiguientePagina=$PaginaActual+1;
$UltimaPagina=$NumeroRegistros/$RegistrosAMostrar;
$Respuesta=$NumeroRegistros%$RegistrosAMostrar;
?>

<div class="inicio">
<?php if($Respuesta>0$UltimaPagina=floor($UltimaPagina)+1;
echo 
"<a href=\"index.php\">Inicio</a> |\n";?>
</div>


<div class="anterior">
<?php if($PaginaActual>1) echo "<a href=\"index.php?page=".$PaginaAnteior."\">Anterior</a> | \n";?>
</div>


<div class="numeros">
<?php echo "<b>(".$PaginaActual." / ".$UltimaPagina.")</b> \n";?>
</div>

<div class="siguiente">
<?php if($PaginaActual<$UltimaPagina)  echo "<a href=\"index.php?page=".$SiguientePagina."\">Siguiente</a> | \n";?>
</div>

<div class="ultima">
<?php echo "<a href=\"index.php?page=".$UltimaPagina."\">Ultima</a>\n";?>
</div>


</div>
El Resultado se ve asi :)


Etiquetas: mysql, paginacion, select, sql
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 12:04.