Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/06/2005, 10:55
Avatar de DoKyE
DoKyE
 
Fecha de Ingreso: junio-2005
Mensajes: 144
Antigüedad: 18 años, 10 meses
Puntos: 0
Exclamación Paginacion de resultados y onClick para ir a otro formulario

Buenas Gente,
La consulta es la siguiente:
encontre el siguiente script por hay, para paginar resultados, muestra los resultados en una tabla con 2 colores diferentes intercalados por cada resultado, bueno funciona a la perfeccion para paginar resultados, lo que quiero que realice es que una ves que muestre los resultados, al pinchar sobre un registro me lleve a otra pagina ( mantenedor de ingreso ) para asignar nuevos valores ala tabla segun ese ID que seleccione, el caso es el siguiente, los resultados que muestra la consulta son alumnos de algun curso, y quiero que cuando alguien pinche sobre un alumno en espesifico, me llebe a un mantenedor de ingreso para ingresarle notas de los ramos que el tiene,
las tablas que tengo son las siguientes:

alumnos: al_id, al_nombre, cu_id
cursos: cu_id, cu_nombre, cu_clave
ramos: ra_id, ra_nombre, cu_id
notas: no_id, al_id, al_nombre, castellano, historia, matematica.... etc.

este es el script:

Código PHP:
<?
    mysql_connect
("localhost","user","password");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>paginaci&oacute;n de resultados</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Pragma" content="no-cache" />
<style type="text/css">
<!--
a.p:link {
    color: #0066FF;
    text-decoration: none;
}
a.p:visited {
    color: #0066FF;
    text-decoration: none;
}
a.p:active {
    color: #0066FF;
    text-decoration: none;
}
a.p:hover {
    color: #0066FF;
    text-decoration: underline;
}
a.ord:link {
    color: #000000;
    text-decoration: none;
}
a.ord:visited {
    color: #000000;
    text-decoration: none;
}
a.ord:active {
    color: #000000;
    text-decoration: none;
}
a.ord:hover {
    color: #000000;
    text-decoration: underline;
}
-->
</style>
</head>
<body bgcolor="#FFFFFF">
<script language="JavaScript">
function muestra(queCosa)
{
    alert(queCosa);
}
</script>
<hr noshade style="color:CC6666;height:1px">
<br>
<?
        
//inicializo el criterio y recibo cualquier cadena que se desee buscar
        
$criterio "";
        if (
$_GET["criterio"]!=""){
    
$txt_criterio $_GET["criterio"];
    
$criterio " where curso like '%" $txt_criterio "%'";
}
    
$sql="SELECT * FROM notas.alumnos ".$criterio;
    
$res=mysql_query($sql);
    
$numeroRegistros=mysql_num_rows($res);
    if(
$numeroRegistros<=0)
    {
        echo 
"<div align='center'>";
        echo 
"<font face='verdana' size='-2'>No se encontraron resultados</font>";
        echo 
"</div>";
    }else{
        
//////////elementos para el orden
        
if(!isset($orden))
        {
            
$orden="Id";
        }
        
//////////fin elementos de orden

        //////////calculo de elementos necesarios para paginacion
        //tamaño de la pagina
        
$tamPag=5;

        
//pagina actual si no esta definida y limites
        
if(!isset($pagina))
        {
               
$pagina=1;
               
$inicio=1;
               
$final=$tamPag;
        }
        
//calculo del limite inferior
        
$limitInf=($pagina-1)*$tamPag;

        
//calculo del numero de paginas
        
$numPags=ceil($numeroRegistros/$tamPag);
        if(!isset(
$pagina))
        {
               
$pagina=1;
               
$inicio=1;
               
$final=$tamPag;
        }else{
            
$seccionActual=intval(($pagina-1)/$tamPag);
            
$inicio=($seccionActual*$tamPag)+1;

            if(
$pagina<$numPags)
            {
               
$final=$inicio+$tamPag-1;
            }else{
                
$final=$numPags;
            }
                
                if (
$final>$numPags){
                     
$final=$numPags;
            }
        }

        
//////////fin de dicho calculo

        //////////creacion de la consulta con limites
        
$sql="SELECT * FROM notas.alumnos ".$criterio." ORDER BY ".$orden.",Id ASC LIMIT ".$limitInf.",".$tamPag;
        
$res=mysql_query($sql);

        
//////////fin consulta con limites
        
echo "<div align='center'>";
  echo 
"<font face='verdana' size='-2'>Usted acaba de buscar ramos de: <b>".$txt_criterio." </b><br>";
              if(isset(
$txt_criterio)){
        echo 
"<br>El <b>".$txt_criterio."</b> tiene  ".$numeroRegistros." ramos ";
                }
        echo 
"</font></div>";
        echo 
"<table align='center' width='80%' border='0' cellspacing='1' cellpadding='0'>";
        echo 
"<tr><td colspan='3'><hr noshade></td></tr>";
        echo 
"<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=co_id&criterio=".$txt_criterio."'>Codigo</a></th>";
        echo 
"<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=co_nombre&criterio=".$txt_criterio."'>Curso</a></th>";
        echo 
"<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=co_pais&criterio=".$txt_criterio."'>Ramos</a></th>";
        while(
$registro=mysql_fetch_array($res))
        {
?>
<!-- tabla de resultados -->
  <tr bgcolor="#CC6666" onMouseOver="this.style.backgroundColor='#FF9900';this.style.cursor='hand';" onMouseOut="this.style.backgroundColor='#CC6666'"o"];">
    <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["Curso"]; ?></b></font></td>
    <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["nombre"]; ?></b></font></td>
  </tr>
<!-- fin tabla resultados -->
<?
        
}//fin while
        
echo "</table>";
    }
//fin if
    //////////a partir de aqui viene la paginacion
?>
    <br>
    <table border="0" cellspacing="0" cellpadding="0" align="center">
    <tr><td align="center" valign="top">
<?
    
if($pagina>1)
    {
        echo 
"<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina-1)."&orden=".$orden."&criterio=".$txt_criterio."'>";
        echo 
"<font face='verdana' size='-2'>anterior</font>";
        echo 
"</a>&nbsp;";
    }

    for(
$i=$inicio;$i<=$final;$i++)
    {
        if(
$i==$pagina)
        {
            echo 
"<font face='verdana' size='-2'><b>".$i."</b>&nbsp;</font>";
        }else{
            echo 
"<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".$i."&orden=".$orden."&criterio=".$txt_criterio."'>";
            echo 
"<font face='verdana' size='-2'>".$i."</font></a>&nbsp;";
        }
    }
    if(
$pagina<$numPags)
    {
        echo 
"&nbsp;<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina+1)."&orden=".$orden."&criterio=".$txt_criterio."'>";
        echo 
"<font face='verdana' size='-2'>siguiente</font></a>";
    }
    
//////////fin de la paginacion
?>
    </td></tr>
    </table>
<hr noshade style="color:CC6666;height:1px">
<div align="center"><font face="verdana" size="-2"><a class="p" href="index.php">::Inicio::</a></font></div>

<form action="busqueda.php" method="get">
Criterio de búsqueda:
<input type="text" name="criterio" size="22" maxlength="150">
<input type="submit" value="Buscar">
</form>

</body>
</html>
<?
    mysql_close
();
?>
el scrip originalmente si alguien pinchaba sobre un registro se desplegaba un mensage con la consulta realizada. mediante la directiva onClick="", yo creo que puedo ocupar esa misma sentencia para realizarlo, pero no se como rescatarel id y llebarlo a otra pagina,
Ojala me puedan ayudar.
Saludos
__________________
Chiloé

Última edición por DoKyE; 21/06/2005 a las 12:18