hola, al final me ha kedado asi la cosa:
cree una funcion en javascript q me pone el resultado a un input
Código:
function paginador (pagina,numpag,totalpag){
var pagineta
pagineta = "Página "+numpag+" de "+totalpag;
document.getElementById('pagina').value= pagineta;
myajax.Link(pagina, 'result')
}
la pagina de la paginacion es la siguiente:
hago la consulta... q es un poco bestia pero ai esta, si me sale q solo hay pocos resultados me los muestra y si hay mas me crea la paginacion.
el campo div q hay mas abajo es donde pongo el resultado de la consulta cuando clickea la pagina q quiere ver.
Código PHP:
<?
require ("../../../../aut_verifica.inc.php");
$dat=date(Ymd);
$str_count = "SELECT maquines.id_maquina,num_maq,tipus_maq,seccio,tipus_maquina,model,fabricant,data_garantia
FROM ((((maquines LEFT JOIN fabricants ON maquines.id_fabricant = fabricants.id_fabricant)
LEFT JOIN marques ON maquines.id_marca = marques.id_marca)
LEFT JOIN models ON maquines.id_model = models.id_model)
LEFT JOIN seccio ON maquines.id_seccio = seccio.id_seccio)
LEFT JOIN tipus_maquina ON maquines.tipus_maq = tipus_maquina.id_tipus_maquina
WHERE data_garantia > ".$dat."
ORDER BY data_garantia DESC";
$qry_count = mysql_query($str_count);
$total_registros = mysql_num_rows($qry_count);
$limit=10;
$total_paginas = ceil($total_registros / $limit);
if ($total_paginas > 1){
?>
<table width="100%"align="center" border="0">
<tr>
<td align="center">
<table width="100%">
<tr>
<td style="color:#666666" width="33%"><b><?=$total_registros;?></b> Registros encontrados</td>
<td align="center" width="33%">
<table class="tborder">
<tr>
<td class="tdpag"><input id="pagina" class="paginador" align="middle" size="10" disabled/></td>
<?
if ($total_paginas > 1){
for ($i=1;$i<=$total_paginas;$i++){
?>
<td class="tdborder"><a href="#maquina/consultes/garantia/consulta.php?page=<?=$i;?>" onclick="javascript:paginador(this.href,'<?=$i?>','<?=$total_paginas?>')"> <b><?=$i;?></b> </a>
</td>
<? }
} ?>
</tr>
</table>
</td>
<td width="33%"> </td>
</tr>
</table>
</td>
</tr>
<tr><td align="center" class="titolverd">Maquinas en Garantia</td></tr>
<tr>
<td width="100%" align="center"><div id="result" name="result"></div></td>
</tr>
</table>
<?
} else if ($total_paginas == 1){
?>
<table width="100%"align="center" border="0">
<tr>
<td align="center">
<table width="100%">
<tr><td style="color:#666666" width="33%"><b><?=$total_registros;?></b> Registros encontrados</td></tr>
<tr><td align="center" class="titolverd">Maquinas en Garantia</td></tr>
<tr>
<td>
<table width="100%" cellpadding="0" cellspacing="2" >
<tr>
<td align="left" class="lletranegreta">Fecha Garantia</td>
<td align="left" class="lletranegreta">Maquina</td>
<td align="left" class="lletranegreta">Seccion</td>
<td align="left" class="lletranegreta">Tipo Maquina</td>
<td align="left" class="lletranegreta">Fabricante</td>
<td align="left" class="lletranegreta">Modelo</td>
</tr>
<?
for($cr_list=1;$row_list=mysql_fetch_array($qry_count);$cr_list++){
?>
<tr
onmouseover="this.style.backgroundColor='#006666'; this.style.color='#FFFFFF'"
onmouseout="this.style.backgroundColor='#EAEAEA'; this.style.color='#000000'"
style="cursor:default; background-color:#EAEAEA; color:#000000;"
>
<?
$num_maquina=$row_list[num_maq]."/".$row_list[tipus_maq];
$data_garantia=$row_list[data_garantia];
if ($data_garantia!=0){
$data_garantia=giragiradata($data_garantia);
}
?>
<td align="left" width="10%"> <?=$data_garantia?></td>
<td align="left" width="7%"> <?=$num_maquina?></td>
<td align="left" width="15%"> <?=$row_list[seccio]?></td>
<td align="left" width="25%"> <?=$row_list[tipus_maquina]?></td>
<td align="left" width="20%"> <?=$row_list[fabricant]?></td>
<td align="left" width="20%"> <?=$row_list[model]?></td>
</tr>
<? } ?>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<? } ?>
y esta pagina es la q se va cargando en el div con los resultados correspondientes a la pagina escojida!
Código PHP:
<?
require ("../../../../aut_verifica.inc.php");
$dat=date(Ymd);
$page = $_GET['page'];
$limit = 10;
if(empty($page)){
$page = 1;
}
$limitvalue = $page * $limit - ($limit);
$str_list = "SELECT maquines.id_maquina,num_maq,tipus_maq,seccio,tipus_maquina,model,fabricant,data_garantia
FROM ((((maquines LEFT JOIN fabricants ON maquines.id_fabricant = fabricants.id_fabricant)
LEFT JOIN marques ON maquines.id_marca = marques.id_marca)
LEFT JOIN models ON maquines.id_model = models.id_model)
LEFT JOIN seccio ON maquines.id_seccio = seccio.id_seccio)
LEFT JOIN tipus_maquina ON maquines.tipus_maq = tipus_maquina.id_tipus_maquina
WHERE data_garantia > ".$dat."
ORDER BY data_garantia DESC";
$sql = mysql_query($str_list . " LIMIT $limitvalue, $limit");
?>
<table width="100%" cellpadding="0" cellspacing="1">
<tr>
<td align="left" class="lletranegreta">Fecha Garantia</td>
<td align="left" class="lletranegreta">Maquina</td>
<td align="left" class="lletranegreta">Seccion</td>
<td align="left" class="lletranegreta">Tipo Maquina</td>
<td align="left" class="lletranegreta">Fabricante</td>
<td align="left" class="lletranegreta">Modelo</td>
</tr>
<?
for($cr_list=1;$row_list=mysql_fetch_array($sql);$cr_list++){
?>
<tr
onmouseover="this.style.backgroundColor='#006666'; this.style.color='#FFFFFF'"
onmouseout="this.style.backgroundColor='#EAEAEA'; this.style.color='#000000'"
style="cursor:default; background-color:#EAEAEA; color:#000000;"
>
<?
$num_maquina=$row_list[num_maq]."/".$row_list[tipus_maq];
$data_garantia=$row_list[data_garantia];
if ($data_garantia!=0){
$data_garantia=giragiradata($data_garantia);
}
?>
<td align="left" width="10%"> <?=$data_garantia?></td>
<td align="left" width="7%"> <?=$num_maquina?></td>
<td align="left" width="15%"> <?=$row_list[seccio]?></td>
<td align="left" width="25%"> <?=$row_list[tipus_maquina]?></td>
<td align="left" width="20%"> <?=$row_list[fabricant]?></td>
<td align="left" width="20%"> <?=$row_list[model]?></td>
</tr>
<? } ?>
</table>
las dudas q tengo ahora son:
como puedo saber la pagina en la q estoy cada vez? asi podre hacer el next o el firt?
y por ultimo, el paginador q hay en esta web, como se hace para q cuando haya muchas paginas no me las muestre todas.. solo q me muestre las primeras y luego haga pequeños saltos hasta llegar a la ultima?
Gracias de antemano,
saludos