[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