sub cat($cat)
{
$categories = $dbh->prepare("SELECT * FROM categories WHERE type=\'news\'")|| die "Can\'t prepare statement: $DBI::errstr";
$categories->execute;
$end=0;
while(@row = $categories->fetchrow_array)
{
if($row[3] == $cat)
{
$end=1;
}
}
$categories->finish;
undef @row;
if($end != 1)
{
$categories = $dbh->prepare("SELECT * FROM categories WHERE type=\'news\'")|| die "Can\'t prepare statement: $DBI::errstr";
$categories->execute;
while(@row = $categories->fetchrow_array)
{
if($row[2] == $cat)
{
$p=$row[1];
$l=$row[2];
}
}
$categories->finish;
@names=(@names,$p);
@cats=(@cats,$l);
}
else
{
$l=$cat;
for ($i=0; $i<10; $i++)
{
$n=0;
$categories = $dbh->prepare("SELECT * FROM categories WHERE type=\'news\'")|| die "Can\'t prepare statement: $DBI::errstr";
$categories->execute;
while(@row = $categories->fetchrow_array)
{
if($n==0)
{
$n=0;
}
if($row[3]==$l)
{
$p=$row[1];
$l=$row[2];
@cats=(@cats,$row[3]);
@names=(@names,$row[4]);
$n=1;
}
}
$categories->finish;
}
@cats=(@cats,$l);
@names=(@names,$p);
}
@names=reverse @names;
@cats=reverse @cats;
return (@cats);
}
1;