Jue Feb 01, 2007 3:01 pm
|
 |
rekkiem
Perlero Nuevo

|
Registrado: 01 Feb 2007
Mensajes: 2
|
|
| FORMULARIO + CONSULTA+todo en uno |
|
|
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. |
|
|
|

Jue Feb 01, 2007 3:53 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4226
Ubicación: Valladolid, España
|
|
|
|
|
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". |
|

Jue Feb 01, 2007 4:15 pm
|
 |
rekkiem
Perlero Nuevo

|
Registrado: 01 Feb 2007
Mensajes: 2
|
|
|
|
|
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> </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> |
|
|

Powered by phpBB © 2001, 2005 phpBB Group
|