Foros del Web » Programando para Internet » PHP »

Paginacion de resultados y onClick para ir a otro formulario

Estas en el tema de Paginacion de resultados y onClick para ir a otro formulario en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 21/06/2005, 11:55
Avatar de DoKyE  
Fecha de Ingreso: junio-2005
Mensajes: 144
Antigüedad: 12 años, 5 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 13:18
  #2 (permalink)  
Antiguo 21/06/2005, 15:16
Avatar de DoKyE  
Fecha de Ingreso: junio-2005
Mensajes: 144
Antigüedad: 12 años, 5 meses
Puntos: 0
este codigo, que realizala paginacion de resultados, y cuando pinchas sobre un campo te manda un mensaje (alert) con todos los datos que estan en esa fila.

Código PHP:
<html>
<head>
<title></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(hola)
{
    alert(hola);
}
</script>
<hr noshade style="color:CC6666;height:1px">
<br>
<?
        $criterio 
"";
        if (
$_GET["criterio"]!=""){
    
$txt_criterio $_GET["criterio"];
    
$criterio " where cu_id like '%" $txt_criterio "%'";
}
    
$sql="SELECT * FROM colegio.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{
        
        if(!isset(
$orden))
        {
            
$orden="al_id";
        }
        
$tamPag=30;

        if(!isset(
$pagina))
        {
               
$pagina=1;
               
$inicio=1;
               
$final=$tamPag;
        }
        
$limitInf=($pagina-1)*$tamPag;
        
$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;
            }
        }
        
$sql="SELECT * FROM colegio.alumnos ".$criterio." ORDER BY ".$orden.",al_id ASC LIMIT ".$limitInf.",".$tamPag;
        
$res=mysql_query($sql);
        echo 
"<div align='center'>";
        echo 
"<font face='verdana' size='-2'>encontrados ".$numeroRegistros." resultados<br>";
        echo 
"ordenados por <b>".$orden."</b>";
                if(isset(
$txt_criterio)){
        echo 
"<br>Valor filtro: <b>".$txt_criterio."</b>";
                }
        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=al_id&criterio=".$txt_criterio."'>Código</a></th>";
        echo 
"<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=al_nombre&criterio=".$txt_criterio."'>Nombre</a></th>";
        echo 
"<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=cu_id&criterio=".$txt_criterio."'>Curso</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"];" onClick="javascript:muestra('<? echo "[".$registro["al_id"]."] ".$registro["al_nombre"]." - ".$registro["cu_id"]; ?>');">
    <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["al_id"]; ?></b></font></td>
    <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["al_nombre"]; ?></b></font></td>
    <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["cu_id"]; ?></b></font></td>
  </tr>
<!-- fin tabla resultados -->
<?
        
}
        echo 
"</table>";
    }
?>
    <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>";
    }
?>
    </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
();
?>
Bueno yo quiero que en ves que muestre el mensaje
me llebe a una pagina de ingreso de notas que la tengo hecha, !!! pero ¡¡¡ que guarde el id del campo que pinche para que ingrese las notas de esa persona.
se puede hacer?
yo creo que puede ser con otra funcion en java scrip
porque la actual es una alerta

Código HTML:
<script language="JavaScript">
function muestra(hola)
{
	alert(hola);
}
</script> 
En la tabbla queda asi:

Código HTML:
<!-- tabla de resultados -->
  <tr bgcolor="#CC6666" onMouseOver="this.style.backgroundColor='#FF9900';this.style.cursor='hand';" onMouseOut="this.style.backgroundColor='#CC6666'"o"];" onClick="javascript:muestra('<? echo "[".$registro["al_id"]."] ".$registro["al_nombre"]." - ".$registro["cu_id"]; ?>');">
    <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["al_id"]; ?></b></font></td>
    <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["al_nombre"]; ?></b></font></td>
    <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["cu_id"]; ?></b></font></td>
  </tr>
<!-- fin tabla resultados --> 
alguna sugerencia te lo agradeceria
saludos
__________________
Chiloé
  #3 (permalink)  
Antiguo 22/06/2005, 04:43
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Iniciado por DoKyE
(...) se puede hacer?
yo creo que puede ser con otra funcion en java scrip
porque la actual es una alerta (...)
Sí y sí ... una simple función donde (supongo) haz de pasar un parámetro y te abrirá ora página (una nueva ventana ó en la misma):
Código HTML:
<script language="JavaScript">
function muestra(hola) {
      document.location.href='pagina.php?var='+hola;
}
</script> 
Y recojes con $_GET ... si quieres una nueva ventana hazlo con window.open() (pop-up)... busca en las FAQ del foro de JavaScript para esto... básicamente es lo mismo al contruir la URL así que no debe haber problemas...

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 22/06/2005, 07:26
Avatar de DoKyE  
Fecha de Ingreso: junio-2005
Mensajes: 144
Antigüedad: 12 años, 5 meses
Puntos: 0
gracias funciono ;)
__________________
Chiloé
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:26.