Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

FORMULARIO + CONSULTA+todo en uno

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Intermedio
Mensaje Jue Feb 01, 2007 3:01 pm
rekkiem
Perlero Nuevo
Perlero Nuevo
Registrado: 01 Feb 2007
Mensajes: 2
FORMULARIO + CONSULTA+todo en uno Responder citando

Hola.

Debido a mi escaso conocimiento de Perl no he podido resolver el siguiente problema.

Necesito generar una tabla dinámica que me muestre información de una BD previa selección de un periodo, en este caso (trimestral, cuatrimestral y semestral). Los campos de esta tabla varían según la selección.

3w.webempresario.cl/demoae/Agenda2/presupuesto.pl?

Aquí les doy un ejemplo:

Código:
$tabla_presupuesto= #genera tabla presupuesto
# + consulta sql

########################
<select name="x">
<option value="1">
<option value="2">
<option value="3">
#si selecciona 2 se genera dentro de la misma 2 columnas
#con la informacion desde la BD
</>

//----------------generar tabla html con la opcion seleccionada----------
<table>
$tabla_presupuesto
</>


Agradecido de antemano por cualquier idea.
Mensaje Jue Feb 01, 2007 3:53 pm
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4226
Ubicación: Valladolid, España
Responder citando

Bienvenido a los foros de Perl en Español.

Creas un programa cgi que use el módulo CGI.

Al empezar, miras el valor del control "x". Según sea un valor u otro, generas la $tabla_presupuesto, y luego la insertas en el código html de la página resultado.

Eso es como se haría de forma 'tradicional'. Ahora lo que priva es el Ajax. Para eso:

Define campos <div> con nombre donde quieres que aparezcan los contenidos de la $tabla_resultado. Con el módulo CGI::Ajax puedes hacer un cgi que reciba los eventos del select (ergo debes indicar en el html que select "x" debe lanzar eventos OnChange). El resultado del cgi será el código html que se colocará en el div resultado. Todo eso se hace ahora con un par de líneas de CGI::Ajax.

Pero tanto una solución como otra no te libra de hacer un cgi que genera una salida html en función del valor del control "x".
Mensaje Jue Feb 01, 2007 4:15 pm
rekkiem
Perlero Nuevo
Perlero Nuevo
Registrado: 01 Feb 2007
Mensajes: 2
Responder citando

maestro,,,,,,,, grax por su respuesta.,.,eso mismo estaba pensando yo,, he trabajado con ajax en php,,pero perl.,.,nada de nada.,.,.Hasta el momento esto esto es lo ke he hecho.,. pero tampoco me funciona

Perl:
####inicion perl
$periodo=$in{'periodo'}; #capturando variable

if($periodo eq "trimestre"){
$tablex .="
<tr class='texto'><td>&nbsp;</td>
<td class='texto2' colspan='3'>
<div align='center'>Presupuestado</d>
...# etc, generando tabla de 3 tres columnas "
;

if($periodo eq "semestre"){
$tablex .="...# etc, generando tabla de 6 tres columnas ";

if($periodo eq " "){#no genera nada}


##############################################
$tabla_presupuesto .="
<table width='100' border='1' cellpadding='1' cellspacing='0' bordercolor='#e2e2e2'>
<tbody>
<tr class='texto'>
<td class='texto2' colspan='6'>
<div class='texto2' align='center'>Periodo
<!-- <select name='periodo' onchange = 'this.form.action ='misma_pag.pl?periodo='+this.value; this.form.submit()'>-->
<select name='periodo' onchange = 'this.form.action ='presupuesto.pl?periodo='+this.value; this.form.submit()'>
<option value='trimestre' selected>Trimestre</option>
<option value='cuatrimestre'>Cuatrimestre</option>
<!-- <option value='semestre' >Semestre</option>-->
</select>
</div>
</td>
$tablex

</table>

################fin perl########################
<html>
<!--imprimir pgaina-->
<tr>
<td>
$tabla_presupuesto
</td>
</tr>
</table>
</html>
Publicar nuevo tema   Responder al tema    Foros de discusión -> Intermedio Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group