Foros del Web » Programando para Internet » PHP »

[PHP ]Error en listado de items (paginacion)

Estas en el tema de [PHP ]Error en listado de items (paginacion) en el foro de PHP en Foros del Web. Buenas a todos, espero que se encuentren bien muchachos y como siempre aca yo para molestarlos una vez mas con mis problemas. Ya tengo casi ...
  #1 (permalink)  
Antiguo 21/12/2010, 14:54
 
Fecha de Ingreso: marzo-2006
Mensajes: 36
Antigüedad: 18 años
Puntos: 0
[PHP ]Error en listado de items (paginacion)

Buenas a todos, espero que se encuentren bien muchachos y como siempre aca yo para molestarlos una vez mas con mis problemas.

Ya tengo casi todo mi sistema funcionando como esperaba pero ahora tengo un problema con la paginacion o la muestra de items en listas, y es un problema un poco curioso.

Antes que nada yo tengo listados los items de 10 en 10 y s escogen los items a mostrar mediante un boton seleccionable. Ahora, el error consiste en que si, existe una cantidad de items aproximadamente de 100 e intentas listar los articulos del 21-30 o 31-40, la barra que esta al lado de "Mostrados" automaticamente se regresa a 1-10. Esto no afecta la muestra de items solicitados pero esteticamente regresa a 1-10. Cuando uno llega a tener mas de 300 items el error en los primero 30 se repara es decir cuando listas 21-30. Cuando llego alrededor de 400 la lista 31-40 se repaara y asi sucesivamente ocurre lo anteriormente mencionado pero con un rango de 1 centena mas como lo he explicado. Realmente, no entiendo.

Aqui dejo el codigo para que me digan donde estoy fallando, a y utilizo php con un poco de javascript simple:

index.php

Código PHP:
        function paginar() {
            
document.getElementById("iniciopagina").value=document.getElementById("paginas").value;
            
document.getElementById("form_busqueda").submit();
        }

</script>

<table class="fuente8" width="80%" cellspacing=0 cellpadding=3 border=0>
                  <tr>
                <td width="50%" align="left">Nº de articulos encontrados <input id="filas" type="text" class="cajaPequena" NAME="filas" maxlength="5" readonly></td>
                <td width="50%" align="right">Mostrados <select name="paginas" id="paginas" onChange="paginar()">
                  </select></td>
              </table> 
El archivo que recepciona lo del index.php

Código PHP:

}

        function inicio() {
            var numfilas=document.getElementById("numfilas").value;
            var indi=parent.document.getElementById("iniciopagina").value;
            var contador=1;
            var indice=0;
            if (indi>numfilas) { 
                indi=1; 
            }
            parent.document.form_busqueda.filas.value=numfilas;
            parent.document.form_busqueda.paginas.innerHTML="";        
            while (contador<=numfilas) {
                texto=contador + "-" + parseInt(contador+9);
                if (indi==contador) {
                    parent.document.form_busqueda.paginas.options[indice]=new Option (texto,contador);
                    parent.document.form_busqueda.paginas.options[indice].selected=true;
                } else {
                    parent.document.form_busqueda.paginas.options[indice]=new Option (texto,contador);
                }
                indice++;
                contador=contador+10;
            }
        }
        </script>
    </head>

    <body onload=inicio()>    
        <div id="pagina">
            <div id="zonaContenido">
            <div align="center">
            <table class="fuente8" width="89%" cellspacing=0 cellpadding=3 border=0 ID="Table1">
            <input type="hidden" name="numfilas" id="numfilas" value="<? echo $filas?>">
                <? $iniciopagina=$_POST["iniciopagina"];
                if (empty(
$iniciopagina)) { $iniciopagina=$_GET["iniciopagina"]; } else { $iniciopagina=$iniciopagina-1;}
                if (empty(
$iniciopagina)) { $iniciopagina=0; }
                if (
$iniciopagina>$filas) { $iniciopagina=0; }
                    if (
$filas 0) { ?>
                        <? $sel_resultado="SELECT * FROM articulos WHERE borrado=0 AND ".$where;
                           
$sel_resultado=$sel_resultado."  limit ".$iniciopagina.",10";
                           
$res_resultado=mysql_query($sel_resultado);
                           
$contador=0;
                           while (
$contador mysql_num_rows($res_resultado)) { 
                                   if (
$i 2) { $fondolinea="itemParTabla"; } else { $fondolinea="itemImparTabla";}?>
                        <tr class="<?php echo $fondolinea?>">
                            <td class="aCentro" width="3%"><? echo $contador+1;?></td>
                            <td width="5%"><div align="center"><? echo mysql_result($res_resultado,$contador,"codarticulo")?></div></td>
                            <td width="28%"><div align="left"><? echo mysql_result($res_resultado,$contador,"referencia")?></div></td>
                            <td width="30%"><div align="left"><? echo mysql_result($res_resultado,$contador,"descripcion")?></div></td>
                            <td width="11%"><div align="left">
                            <? $codfamilia=mysql_result($res_resultado,$contador,"codfamilia");
                            
$query_familia="SELECT nombre FROM familias WHERE codfamilia='$codfamilia'";
                            
$rs_familia=mysql_query($query_familia);
                            
$nombre_familia=mysql_result($rs_familia,0,"nombre");
                            echo 
$nombre_familia;            
                            
?>
                            </div></td>
                            <td class="aCentro" width="6%"><div align="center">S/. <? echo mysql_result($res_resultado,$contador,"precio_tienda")?></div></td>
                            <td class="aCentro" width="5%"><? echo mysql_result($res_resultado,$contador,"stock")?></td>
                            <td width="4%"><div align="center"><a href="#"><img src="http://www.forosdelweb.com/f18/img/modificar.png" width="16" height="16" border="0" onClick="modificar_articulo(<?php echo mysql_result($res_resultado,$contador,"codarticulo")?>)" title="Modificar"></a></div></td>
                                                        <td width="4%"><div align="center"><a href="#"><img src="http://www.forosdelweb.com/f18/img/ver.png" width="16" height="16" border="0" onClick="ver_articulo(<?php echo mysql_result($res_resultado,$contador,"codarticulo")?>)" title="Visualizar"></a></div></td>
                            <td width="4%"><div align="center"><a href="#"><img src="http://www.forosdelweb.com/f18/img/eliminar.png" width="16" height="16" border="0" onClick="eliminar_articulo(<?php echo mysql_result($res_resultado,$contador,"codarticulo")?>)" title="Eliminar"></a></div></td>
                        </tr>
                        <? $contador++;
                            }
                        
?>            
                    </table>
Gracias de antemano, espero me puedan ayudar en este problema. Saludos.

Última edición por phpSEEK; 21/12/2010 a las 15:26

Etiquetas: items, listado, paginacion
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 00:42.