[Madrid-pm] Crear listados desde una BD

PEGG preiddy en gmail.com
Mie Jul 9 13:28:00 PDT 2008


Hola de nuevo, jajajja.
Ahora cuando llegue a casa me puse con la solución que propones, pero cuando
lo ejecuto solo imprime el guión. No imprime nada más, ¿que sera?

El día 9 de julio de 2008 13:49, Joaquin Ferrero <
explorer en joaquinferrero.com> escribió:

> El mié, 09-07-2008 a las 12:36 +0200, PEGG escribió:
> > Hola, tengo una tabla en una BD de mysql que almacena el nombre de un
> > país y su correspondiente id.
> > Por ejemplo:
> > ID - País
> > 1 - ESP
> > 1 - USA
> > 1 - ITA
> > 2 - JPN
> > 2 - RUS
> > 3 - VEN
> >
> > Mi problema es que tengo que consultar la tabla y juntar las
> > direcciones, quedando así:
> > ESP - USA
> > ESP - ITA
> > USA - ITA
> > JPN - RUS
> >
> > VEN no aparecería porque está sola.
> >
> > La consulta sql: "SELECT id, pais from direcciones".
> > He probado así:
> > while ( @direcciones = $sth->fetchrow_array() ) {
> > foreach $direccion (@direcciones) {
> >
> >         foreach $agrupa (@direcciones) {
> >             if ( $direccion eq $agrupa ) { }
> >             else {
> >                 print "\U$direccion;$agrupa\n";
> >            }
> >         }
> >     }
> > Pero no lo muestra como quiero, ya no se que hacer.
> > Agradezco vuestros comentarios.
>
> Hay que aplicar algo de combinatoria...
>
> #!/usr/bin/perl
>
> my @resultados = (
>    [ 1 => ESP ],
>     [ 1 => USA ],
>    [ 1 => ITA ],
>    [ 2 => JPN ],
>    [ 2 => RUS ],
>     [ 3 => VEN ],
> );
>
> # Leemos y hacemos la estadística
> my %resultados;
> foreach my $resultado ( @resultados ) {
>    my ($ID, $pais) = @{$resultado}[0,1];
>
>    push @{$resultados{ $ID }}, $pais;
> }
>
> # Sacamos las combinaciones
> foreach my $clave ( keys %resultados ) {
>
>    my $numero_elementos = @{$resultados{$clave}};
>    my $ultimo = $numero_elementos-1;
>
>    if ( $numero_elementos > 1 ) {
>        for my $x ( 0 .. $ultimo-1 ) {
>            for my $y ( $x+1 .. $ultimo ) {
>                print "$resultados{$clave}->[$x] -
> $resultados{$clave}->[$y]\n";
>            }
>        }
>    }
> }
>
> __END__
>
> --
> JF^D
>
>
> _______________________________________________
> Madrid-pm mailing list
> Madrid-pm en pm.org
> http://mail.pm.org/mailman/listinfo/madrid-pm
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.pm.org/pipermail/madrid-pm/attachments/20080709/f621c391/attachment.html>


Más información sobre la lista de distribución Madrid-pm