• Publicidad

Cómo hacer un refresh de una consulta de una tabla

Todo acerca de las bases de datos que existen: SQL, MySQL, Oracle, Postgres, CSV, etc.

Cómo hacer un refresh de una consulta de una tabla

Notapor caribesoft » 2006-08-02 13:05 @587

Buenas tardes Perlianos :

Esto es algo que siempre he querido hacer y hasta la fecha no lo he podido lograr:

1. Hago una consulta a una tabla de Mysql desde un select que esta dentro de un formulario. Si no esta el elemento deseado,

2. Quiero tener la opcion de abrir una segunda ventana y poder agregar un nuevo registro o elemento en la misma tabla.

3. Al finalizar cerrar la segunda ventana, y al volver entrar al campo de consulta o sea al select de la primer ventana ya pueda ver y seleccionar el nuevo registro.

Muy sencillo no creen ?? pero no puedo lograrlo !!!!

Este es parte de mi script, de la primer ventana :


Código: Seleccionar todo
print "<table width=100% border=0>
        <tr bgcolor=#CCC999>
         <td align=right><font face=Arial size=2>Selecciona Cliente :</font><td>";
             $query = "SELECT registro,empresa FROM clientes order by empresa";
             $sth = $dbh->prepare($query);
             $sth->execute();
             $sth->bind_columns(undef, \$regemp, \$empresa);
             print "<select name=numempresa><option value=\"\">$empresa</option>";
             while($sth->fetch()) {
                print "<option value='$regemp'>$regemp - $empresa</option>";
             }
             print "</select></td></tr></table>";



El llamado de la segunda ventana en donde voy a dar de alta el nuevo registro es algo asi :


Código: Seleccionar todo
<a class="menulink3" href="test.pl?action=altacliente&clave=$clave" target="popup" onclick="window.open(this.href, this.target, 'width=520,height=540,menubar=yes,toolbar=no,resizable=yes'); return false;">Alta de Clientesa</a>


aqui entra la rutina de alta y el cerrar la segunda ventana, y luego ....
Como le hago para ver el nuevo registro en la primero ventana ??

Cualquier tip o sugrencia es bienvenido, como siempre muchas gracias por su atencion,

Caribesoft
caribesoft
Perlero nuevo
Perlero nuevo
 
Mensajes: 73
Registrado: 2006-05-09 22:01 @959
Ubicación: Cancun

Publicidad

Notapor kidd » 2006-08-02 13:52 @619

Umm, a mi se me ocurren dos posibles opciones.

1. Una vez que has hecho el insert en tú popup puedes cerrar el popup y pedir que se refresque la ventana desde donde abriste el popup, algo similar a esto:

Código: Seleccionar todo
<script language="javascript">
window.opener.location.reload(true);
window.close();
</script>



2. La segunda opción es un poco más complicada, sería cuestión de usar AJAX para tener el resultado inmediato:
http://perlenespanol.com/archives-tut/000167.html


Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

OK, si funciona muy bien !!!!

Notapor caribesoft » 2006-08-03 21:12 @925

Hola Kidd :

Muchas gracias me funciono de maravilla, por si alguien en el futuro necesita lo mismo, asi quedo la funcion :

Código: Seleccionar todo
<script language="javascript">
   function cierra_ventana(){
    window.opener.location.reload(true);
    window.close();
  }
 </script>


Por cierto trate de instalar CGI:Ajax, pero me envia un error y me pide un archivo PPD, sabes como obtener estso ??

Saludos y mil gracias,

Caribesoft



kidd escribiste:Umm, a mi se me ocurren dos posibles opciones.

1. Una vez que has hecho el insert en tú popup puedes cerrar el popup y pedir que se refresque la ventana desde donde abriste el popup, algo similar a esto:

Código: Seleccionar todo
<script language="javascript">
window.opener.location.reload(true);
window.close();
</script>



2. La segunda opción es un poco más complicada, sería cuestión de usar AJAX para tener el resultado inmediato:
http://perlenespanol.com/archives-tut/000167.html


Saludos
[/code]
caribesoft
Perlero nuevo
Perlero nuevo
 
Mensajes: 73
Registrado: 2006-05-09 22:01 @959
Ubicación: Cancun

Class::Accessor

Notapor Rene Serrano » 2006-11-27 12:41 @570

Sólo instala el módulo Class::Accessor y listo CGI::AJAX Es una dependencia de este.


saludos :D
Rene Serrano
Perlero nuevo
Perlero nuevo
 
Mensajes: 86
Registrado: 2006-11-27 12:35 @565
Ubicación: El salvador CA

Tienes algun ejemplo ?

Notapor caribesoft » 2006-11-27 14:24 @641

Gracias rene,

¿Tienes algún ejemplo de esto o simplemente con instalar el modulo Class::Accessor, como dices, ya debe de funcionar el refresh de la pagina "padre" ?

Saludos,
Caribesoft
caribesoft
Perlero nuevo
Perlero nuevo
 
Mensajes: 73
Registrado: 2006-05-09 22:01 @959
Ubicación: Cancun

Notapor Rene Serrano » 2006-11-29 13:05 @587

Si usas AJAX cambia la forma de como estas programando, utilizas otras funciones otros metodos te recomiendo que leeas el link que arriba te posteo
KIDD
saludos
Rene Serrano
Perlero nuevo
Perlero nuevo
 
Mensajes: 86
Registrado: 2006-11-27 12:35 @565
Ubicación: El salvador CA


Volver a Bases de datos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados