Muchas gracias, queria tenerlo bien en claro esto, ahora, alguna idea para hacer un SELECT en unabase de datos, con AJAX? Osea la cosa es asi, tengo un sub mostrar_cosas que lo que hago dentro de este es hacer un SELECT y pasar los valosres a un TMPL.
Código:
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;
};
Lo mando a este TMPL
Código:
<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:
Código:
my $pjx = CGI::Ajax->new( 'jsFunc' => \&buscando);
print $pjx->build_html($q, \&Mostrar_Form, {-type=> 'text/html'});
Código:
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;
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 mas de 1 seleccionado no funcionan estas sentencias, pero si tengo solamente una seleccionado, funciona bien y me muestra todos los autos, de la marca que quiero. Como soluciono esto?? en donde esta el problema??