Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/09/2006, 08:44
sergi_climent
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 20 años
Puntos: 10
Pregunta

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>&nbsp; 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?>')">&nbsp;<b><?=$i;?></b>&nbsp;</a>                
            </td>
            <? }             
         } 
?>
        </tr>
        </table>
    </td>
    <td width="33%">&nbsp;</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>&nbsp; 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%">&nbsp;<?=$data_garantia?></td>
        <td align="left" width="7%">&nbsp;<?=$num_maquina?></td>
        <td align="left" width="15%">&nbsp;<?=$row_list[seccio]?></td>
        <td align="left" width="25%">&nbsp;<?=$row_list[tipus_maquina]?></td>
        <td align="left" width="20%">&nbsp;<?=$row_list[fabricant]?></td>
        <td align="left" width="20%">&nbsp;<?=$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%">&nbsp;<?=$data_garantia?></td>
<td align="left" width="7%">&nbsp;<?=$num_maquina?></td>
<td align="left" width="15%">&nbsp;<?=$row_list[seccio]?></td>
<td align="left" width="25%">&nbsp;<?=$row_list[tipus_maquina]?></td>
<td align="left" width="20%">&nbsp;<?=$row_list[fabricant]?></td>
<td align="left" width="20%">&nbsp;<?=$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
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier

Última edición por sergi_climent; 21/09/2006 a las 08:50