Página 1 de 1

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

NotaPublicado: 2006-08-02 13:05 @587
por caribesoft
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

NotaPublicado: 2006-08-02 13:52 @619
por kidd
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

OK, si funciona muy bien !!!!

NotaPublicado: 2006-08-03 21:12 @925
por caribesoft
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]

Class::Accessor

NotaPublicado: 2006-11-27 12:41 @570
por Rene Serrano
Sólo instala el módulo Class::Accessor y listo CGI::AJAX Es una dependencia de este.


saludos :D

Tienes algun ejemplo ?

NotaPublicado: 2006-11-27 14:24 @641
por caribesoft
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

NotaPublicado: 2006-11-29 13:05 @587
por Rene Serrano
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