Tengo un problemilla con algo muy parecido.
O sea la cosa es así, tengo un
sub mostrar_cosas que lo que hago dentro de este es hacer un SELECT y pasar los valores a un TMPL.
Using perl Syntax Highlighting
sub Mostrar_Form
{
my $db="probar";
my $host="localhost";
my $port="-";
my $userid="-t";
my $passwd="-";
my $connectionInfo="DBI:mysql:database=$db;$host:$port";
my $dbh = DBI
->connect($connectionInfo,$userid,$passwd) or die print "No hay conexion con la base<br>";
my $t = HTML
::Template->new(filename
=> 'listarautos.tmpl');
my $table_data = $dbh->prepare('SELECT descripcion,idAuto FROM rubros WHERE marca="0"');
$table_data->execute;
my $arrayref = $table_data->fetchall_arrayref({});
$t->param(ROWS
=> $arrayref);
$dbh->disconnect;
my $html = $t->output;
return $html;
};
Coloreado en 0.004 segundos, usando
GeSHi 1.0.8.4
Lo mando a este TMPL
- <TMPL_LOOP ROWS>
- <form>
- <p>
- <input type="hidden" id="item" size="6">
- <input type="hidden" id="namedItem" size="6">
- <input type="hidden" id="mirar" size="6" value=<TMPL_VAR NAME=idRubro>>
- <a href="#" onclick='jsFunc(formDump(),["out"]);return false' > <TMPL_VAR NAME=Nombre> </a></p>
- </form>
- </TMPL_LOOP ROWS>
- <div id="out">
- </div>
lo que hace esto es tirame la lista del SELECT que hice anteriormente, y tranformarme los datos que saque en botones para despues hacer con AJAX esto:
Using perl Syntax Highlighting
my $pjx = CGI
::Ajax->new( 'jsFunc' => \&buscando);
print $pjx->build_html($q, \&Mostrar_Form, {-type
=> 'text/html'});Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Using perl Syntax Highlighting
sub buscando
{
my $buffer = $ENV{'QUERY_STRING'};
my @pairs = split(/&/, $buffer);
foreach my $pair (@pairs) {
my ($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$Variables{$name} = $value;
}
my $indice = "$Variables{'marca'}";
my $db="clasificados";
my $host="localhost";
my $port="3306";
my $userid="root";
my $passwd="zxcvbn";
my $connectionInfo="DBI:mysql:database=$db;$host:$port";
my $columna="*";
my $query = "SELECT Nombre FROM rubros WHERE parent='$indice'";
my $cgi = CGI
->new;
my $dbh = DBI
->connect($connectionInfo,$userid,$passwd) or die print "No hay conexion con la base<br>";
my $t = HTML
::Template->new(filename
=> 'db.tmpl');
$t->param(ROWS
=> $dbh->selectall_arrayref($query, { Slice
=> {} }));
$dbh->disconnect;
my $html = $t->output;
return $html; Coloreado en 0.003 segundos, usando
GeSHi 1.0.8.4
my $t = HTML::Template->new(filename => 'db.tmpl'); en esta linea comunico con el db.tmpl e imrpmimo en el
<div id="out">
</div>El problema es que si tengo más de uno seleccionado no funcionan estas sentencias, pero si tengo solamente una seleccionada, funciona bien y me muestra todos los autos, de la marca que quiero. ¿Cómo soluciono esto? ¿En dónde está el problema?