1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
get '/zwei' => sub { my $self = shift; my $count = $dbh->prepare( "SELECT COUNT(*) FROM $table WHERE nachname == ?" ); $count->execute( $self->param('nachname') ); my $exists = ( $count->fetchrow_array )[0]; if ( not $exists ) { $self->render( 'eingabe' ); # neuen Eintrag zu Datenbank hinzufügen } elsif ( $exists == 1 ) { my $sth = $dbh->prepare( "SELECT * FROM $table WHERE nachname == ?" ); $sth->execute( $self->param('nachname') ); my $hash = $sth->fetchrow_hashref; $self->stash( vorname => $hash->{vorname} ); $self->stash( nachname => $hash->{nachname} ); $self->stash( steuernummer => $hash->{steuernummer} ); $self->stash( strasse => $strasse ); $self->stash( nummer => $nummer ); $self->stash( ort => $ort ); $self->stash( plz => $plz ); $self->render( 'kontrolle' ); # ausgewählten Eintrag ausgeben } else { my $sth = $dbh->prepare( "SELECT vorname, nachname, steuernummer FROM $table WHERE nachname == ?" ); $sth->execute( $self->param('nachname') ); $self->stash( sth => $sth ); $self->render( 'auswahl' ); # aus gefundenen Einträgen auswählen } };
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
get '/zwei' => sub { my $self = shift; my $count = $dbh->prepare( "SELECT COUNT(*) FROM $table WHERE nachname == ?" ); $count->execute( $self->param('nachname') ); my $exists = ( $count->fetchrow_array )[0]; if ( not $exists ) { $self->redirect_to( 'eingabe' ); # neuen Eintrag zu Datenbank hinzufügen } elsif ( $exists == 1 ) { $self->redirect_to( 'kontrolle' ); # ausgewählten Eintrag ausgeben } else { my $sth = $dbh->prepare( "SELECT vorname, nachname, steuernummer FROM $table WHERE nachname == ?" ); $sth->execute( $self->param('nachname') ); my $ref = $sth->fetchall_hashref( 'steuernummer' ); $self->stash( ref => $ref ); $self->render( 'auswahl' ); # aus gefundenen Einträgen auswählen } };
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
get '/zwei' => sub { my $self = shift; my $nachname = $self->param( 'nachname' ); my $sth = $dbh->prepare( "SELECT vorname, steuernummer FROM $table WHERE nachname == ?" ); $sth->execute( $nachname ); my @rows; while ( my $row = $sth->fetchrow_hashref ) { push @rows, { vorname => $row->{vorname}, nachname => $nachname, steuernummer => $row->{steuernummer} }; } if ( not @rows ) { $self->redirect_to( 'eingabe' ); } elsif ( @rows == 1 ) { $self->redirect_to( "/kontrolle?steuernummer=$rows[0]{steuernummer}" ); } else { $self->stash( rows => \@rows ); $self->render( 'zwei' ); } };
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
get '/zwei' => sub { my $self = shift; my $nachname = $self->param( 'nachname' ); my $sth = $dbh->prepare( "SELECT vorname, steuernummer FROM $table WHERE nachname == ?" ); $sth->execute( $nachname ); my @rows; while ( my $row = $sth->fetchrow_hashref ) { push @rows, { vorname => $row->{vorname}, nachname => $nachname, steuernummer => $row->{steuernummer} }; } if ( not @rows ) { $self->redirect_to( 'eingabe' ); } elsif ( @rows == 1 ) { my $steuernummer = $rows[0]{steuernummer}; my $uri = URI->new( '/kontrolle' ); $uri->query_form( steuernummer => $steuernummer ); $self->redirect_to( $uri ); } else { $self->stash( rows => \@rows ); $self->render( 'zwei' ); } };
1
2
3
my $uri = URI->new( '/kontrolle' );
$uri->query_form( steuernummer => $steuernummer );
$self->redirect_to( $uri );
1 2
my $url = $self->url_for( '/kontrolle' ); $self->redirect_to( $url->query( steuernummer => $steuernummer ) );