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>
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>