my $prepared_handle = $dbh->prepare('SELECT * FROM table WHERE parent_id = ?');
:
:
:
get_children(0);
sub get_children {
my $parent_id = shift;
$executed_handle = $prepared_handle->execute($parent_id);
while (my $pointer = $executed_handle->fetchrow_hashref) {
$results .= $pointer->{id}."\n";
get_children($pointer->{parent_id});
}
}
####
Top level A
Top level B
Second Level A
Second Level B
####
Top level A
Top level B
Second Level A
Second Level B
Top level C
Top level D