Newsgroup: it.comp.lang.perl
Titolo: ***aiuto dbi ma piuttosto la lista***

Ragazzi, scusate davvero, ma č tatnto tempo che non faccio piů niente in
perl; E' una stupidaggine ma oggi proprio non va: ho una lista di record,
con tre campi $campo1 $campo2 $campo3, che tiro fuori con DBI ( quindi sto
dentro ad un while; ho bisogno di fare la print di $campo1 e di seguito
$campo2 e $campo3, fino a 10: al decimo devo fare di nuovo la print di
$campo1 etc, quindi nome del campo, 10 record, nome del campo altri 10 etc.
So che deve essere facile davvero ma oggi proprio niente!
Grazie

oggi proprio niente!
Si vede che è una giornata sbagliata anche per le spiegazioni, perché io non
ci ho capito nulla. Prova a descrivere un po' meglio che cosa vuoi fare.
In generale, comunque, mi pare di capire che dovresti mettere un contatore
da qualche parte, da incrementare ogni volta che succede qualcosa, e quando
arriva ad un certo numero fai una certa cosa:
   ++$contatore if (è successa una cosa);
   if ($contatore >= 10) {
     fai qualcosa;
     $contatore = 0;
   }
Ciao.

 arriva ad un certo numero fai una certa cosa:
Giovanni grazie per la risposta: ho questo problema:
Sto all'interno di un while fetchrow , e sto tirando fuori i record da un DB
che scritti nell' array sono  $results[1] $results[2] $results[3]. io dovrei
stampare un $results[1] seguito da 10 $results[2] $results[3] e poi
ricominciare con il nuovo $results[1]: spiego meglio:
campi: concessionario  auto  modello :
io devo stampare
LANCIA ITALIA (concessionario)
Ford fiesta
Ford vvv
Ford xxx
Fiat sss
Lancia ccc
alfa ddd
ferrari nnn
Lamborghini qqq
renault eee
maserati uuu
ROSATI AUTO ( concessionario)
e di seguito dieci modelli di auto. Chiaramente le auto per ogni
concessionario sono piů di dieci, ma nella select, ho fatto in modo che
queste siano ordinate come serve, per ogni concessionario.
Come faccio?

Come faccio?
Ma, dico, sarai capace di contare fino a 10?
 
   my $contatore = 9; 
   while (quel_che_č) { # i particolari del ciclo while fetchrow te li
                        # aggiusti tu
      ++$contatore;
      if ($contatore >= 10) {
          $contatore = 1;
          print $results[1], "\n";
      }
      print $results[2], ' ', $results[3], "\n";
   }
Questo, se i modelli  di auto sono sempre 10. Puoi anche fare qualcosa
indipendente dal numero di modelli:
   my $modello = '';
   while (quel_che_č) { # i particolari del ciclo while fetchrow te li
                        # aggiusti tu
      if ($modello ne $results[3]) {
          $modello = $results[3];
          print $results[3], "\n";
      }
      print $results[2], ' ', $results[3], "\n";
   }
O c'č qualche altro problema che non ho capito?
Ciao.

   my $modello = '';
Meglio cosě:
   my $concessionario = '';
   while (quel_che_č) { # i particolari del ciclo while fetchrow te li
                        # aggiusti tu
      if ($concessionario ne $results[1]) {
          $concessionario = $results[1];
          print $results[1], "\n";
      }
      print $results[2], ' ', $results[3], "\n";
   }
Comunque, con lo stesso metodo, puoi rompere il gruppo al cambio di auto, o
su qualunque altro campo. L'importante č che i dati siano ordinati in modo
opportuno.
Ciao.