Ver Mensaje Individual
  #6 (permalink)  
Antiguo 12/03/2008, 02:35
irepitusilla26
 
Fecha de Ingreso: febrero-2008
Ubicación: Bergara
Mensajes: 12
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: paginar por orden alfabetico

AL FINAL NO SE COMO HACERLO!!
Soy un desastre....
Mirar mi codigo, yo hago esto para paginar y me funciona pero queria algo para cambiar esto y que me salga paginar por letras.
aver como os paso el codigo para que me ayudeis.

es para controlar el inventario de un almacen y poder mirar cuanto queda del articulo , pinchando en la letra listara los articulos según la letra.

tengo un archivo que es funciones.php que contiene:

function posicionpagina($actual,$totalregistros,$cantidad){
$totalpaginas=ceil($totalregistros/$cantidad);
$texto='<div align="right"><h4>Pagina '.$actual.' de '.$totalpaginas.'</h4></div>';
return $texto;
}


function paginar($actual,$total,$por_pagina,$enlace){
$texto="";
$total_paginas=ceil($total/$por_pagina);//para redondear
$anterior=$actual-1;
$posterior=$actual +1;
if($actual>1){
$texto="<a href=\"$enlace$anterior\">&laquo; anterior </a>";
}
for($i=1;$i<=$total_paginas;$i++){
if($i!=$actual){
$texto.=" [<a href=\"$enlace$i\">$i</a>]";//a esto se le puede poner corchetes o lo que sea segun kieras mostras tu los resultados [1] [2] [3] [4]
}else{
$texto.=$i;
}
}//cierre del for
if($actual<$total_paginas){
$texto.="<a href=\"$enlace$posterior\"> posterior&raquo;</a>";

}
return $texto;
}

y luego en mi pagina pongo todo esto, y me pagina bien pero por números de paginas....

//---------------------CONSULTA----------------------
$sql="SELECT inventario.*, articulos.cod_articulo, articulos.nombre, articulos.descripcion_articulo FROM inventario, articulos WHERE (inventario.cod_articulo=articulos.cod_articulo) AND inventario.cantidad > 0 GROUP BY inventario.cod_articulo ORDER BY inventario.cod_articulo ASC, inventario.tipo_usuario ASC";
//-------------------EJECUCION DE LA CONSULTA-----------------
$resultado=mysql_query($sql);
$totalregistros=mysql_num_rows($resultado);
$cantidad_pag=2;
$registro_inicio=($pag-1)*$cantidad_pag;
$sql.=" LIMIT $registro_inicio,$cantidad_pag";
$resultado=mysql_query($sql);
if($resultado){
echo posicionpagina($pag,$totalregistros,$cantidad_pag) ;
echo '<table border="1" cellpadding="5" cellspacing="5" width="100%">
<caption>
Stock de los art&iacute;culos
</caption>
<tr>
<td><h4>Nombre del art&iacute;culo </h4></td>
<td><h4>Descripci&oacute;n</h4></td>
<td><h4>Localizaci&oacute;n</h4></td>
<td><h4>Cantidad</h4></td>
<td><h4>Cantidad total Stock </h4></td>
</tr>';
$n=$registro_inicio +1;
while($fila=mysql_fetch_array($resultado)){
$codigo_articulo=$fila["cod_articulo"];
echo '<tr>

<td>'.$fila["nombre"].'</td>
<td>'.$fila["descripcion_articulo"].' </td>
<td colspan="2">';
$sql_tipo="SELECT inventario.*, tipo_usuario.* FROM inventario, tipo_usuario WHERE (inventario.tipo_usuario=tipo_usuario.id_tipo_usua rio) AND inventario.cod_articulo=$codigo_articulo ORDER BY cod_articulo ASC, tipo_usuario ASC";
$resultado_tipo=mysql_query($sql_tipo);
if($resultado_tipo){
if(mysql_num_rows($resultado)<=0){//No hay resultados
echo '<p>No hay </p> <br />';
}else{//Si hay un resultado
echo '<table border="1" cellpadding="5" cellspacing="5" width="100%">';
while($fila_tipo=mysql_fetch_array($resultado_tipo )){

echo '<tr>
<td>'.$fila_tipo["desc_tipo_usuario"].'</td>
<td>'.$fila_tipo["cantidad"].' Unidades</td>
</tr>';
}
echo '</table>';
}
}else{
mysql_error();
}

echo '</td>

<td>';

$sql_total="SELECT `cod_articulo`, `tipo_usuario`, SUM(cantidad) AS total_unidades, `fecha_grabado` FROM inventario WHERE `tipo_usuario` IN (1,2,3,4) AND `cod_articulo`=$codigo_articulo GROUP BY cod_articulo";
$resultado_total=mysql_query($sql_total);
//echo $sql_total;
if($resultado_total){
$fila_total=mysql_fetch_array($resultado_total);
echo $fila_total["total_unidades"].' Unidades';
}else{
mysql_error();
}
echo '</td>
</tr>
';
$n++;
}

echo '</table>';
echo paginar($pag,$totalregistros,$cantidad_pag,"tecnic o_admin_articulos_stock.php?pag=");
}else{
mysql_error();
}
Espero que me podais ayudar, es para el trabajo.
Muchas gracias de antemano ARTISTAS.
BESITOS
Ire.