• Publicidad

Template toolkit problemas con selectall_arrayref

Aquí encontrarás todo lo que sea específicamente acerca de módulos de Perl. Ya sea que estás compartiendo tu módulo, un manual o simplemente tienes una duda acerca de alguno.

Template toolkit problemas con selectall_arrayref

Notapor danimera » 2010-04-23 17:26 @768

No puedo usar un foreach() desde un selectall_arrayref(). ¡Qué pasa que no sé...!

Dumper
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$VAR1 = [
  {
    'password' => '666',
    'id' => '14',
    'nombre' => 'moto'
  },
  {
    'password' => '12345',
    'id' => '11',
    'nombre' => 'gato'
  },
  {
    'password' => '985',
    'id' => '10',
    'nombre' => 'loco'
  }
];
$VAR2 = [
  {
    'password' => '123245',
    'id' => '1',
    'nombre' => 'admin'
  },
  {
    'password' => 'xxxxx',
    'id' => '2',
    'nombre' => 'user2'
  },
  {
    'password' => 'zzz',
    'id' => '3',
    'nombre' => 'user3'
  },
  {
    'password' => 'oooo',
    'id' => '4',
    'nombre' => 'user4'
  },
  {
    'password' => 'ewrtr',
    'id' => '5',
    'nombre' => 'user5'
  },
  {
    'password' => '985',
    'id' => '6',
    'nombre' => 'user6'
  },
  {
    'password' => '985',
    'id' => '7',
    'nombre' => 'user6'
  },
  {
    'password' => '985',
    'id' => '8',
    'nombre' => 'user6'
  },
  {
    'password' => '985',
    'id' => '9',
    'nombre' => 'user6'
  },
  {
    'password' => '985',
    'id' => '10',
    'nombre' => 'user6'
  }
];
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4


Ejemplo de variable.
usuario admin :: password 123245

Ejemplo de un ciclo.
Usuario: / password:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
Hello moto 666

Hello gato 12345

Hello loco 985
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Código
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $dth = DBI->connect("DBI:CSV:f_dir=db/") or die "Cannot connect: " . $DBI::errstr;

# Ejecutamos un select SQL
my $usuarios = $dth->selectall_arrayref("SELECT * FROM USUARIOS",{ Slice => {} });
my $s = [ { password => '666', id => '14',nombre => 'moto'}, { password => '12345', id => '11',nombre => 'gato'}, { password => '985', id => '10',nombre => 'loco'} ];
# creamos el objeto template
my $template = Template->new();
print "<pre>". Dumper $s,$usuarios;

# definimos variables a reemplazar en la plantilla
# asignamos a una variable algunos datos obtenidos en usuarios por la consulta a la tabla usuarios
$value = $usuarios->[0]{'nombre'};
$value2 = $usuarios->[0]{'password'};


    my $vars = {
        usuario1        => $value,
        password1       => $value2,
        users   => $usuarios,
        people => $s
    };

    # damos el nombre de la plantilla que queremos procesar
    my $input = 'plantilla.html';

    #procesamos
    $template->process($input, $vars) || die $template->error();
 
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Sintáxis: [ Descargar ] [ Ocultar ]
Using html4strict Syntax Highlighting
  1. <HTML>
  2. <HEAD>
  3. <title>Mis Usuario</title>
  4. </HEAD>
  5.  
  6. <BODY>
  7.  
  8. <h2>Ejemplo de varible.</h2>
  9. <b>usuario</b> [% usuario1 %] :: <b>password</b> [% password1 %]
  10. <br>
  11. <h2>Ejemplo de un ciclo.</h2>
  12. [% FOREACH variable IN [ users ] %]
  13.  
  14.    Usuario: [% variable.nombre %] / password: [% variable.password %]<br/>
  15.  
  16. [% END %]
  17.  
  18.  
  19. [% FOREACH person IN people %]
  20. Hello [% person.nombre %] [% person.password %]
  21. [% END %]
  22. </BODY>
  23.  
  24. </HTML>
  25.  
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Publicidad

Re: Template toolkit problemas con selectall_arrayref

Notapor explorer » 2010-04-23 17:36 @775

No conozco TT, pero veo que en el HTML, en la línea 12, estás rodeando a 'users' con unos corchetes, mientras que en el siguiente FOREACH, no lo haces.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Template toolkit problemas con selectall_arrayref

Notapor danimera » 2010-04-23 18:12 @800

¡Chamfles, eso era todo...! :D Gracias, explorer... no entiendo por qué tenía eso así... es la primera vez que uso TT y es para un tutorial sencillo...
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia


Volver a Módulos

¿Quién está conectado?

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