#!/usr/bin/perl
use CGI qw(:standard);
use DBI;
use warnings;
use strict;
my (@row,$name,$path,$dsp,$count);
my $query = new CGI;
print $query->header('text/html');
print qq~
Movie Search
~;
my $reqpage = $query->param('reqpage') || '1';
param('per_page');
#Get total amount of rows from db
my $dbh=DBI->connect($connectionInfo,$user,$passwd);
my $num_rows= $dbh->selectrow_array('select count(name) from video order by name');
my $num_results_perpage = 25;
# calculate the number of pages to show
my $pagecount = int($num_rows / $num_results_perpage);
if (($pagecount * $num_results_perpage) != $num_rows)
{
$pagecount++;
}
# calculate which results to show in the page
my $firstresult = (($reqpage - 1) * $num_results_perpage) + 1;
my $lastresult = $firstresult + $num_results_perpage - 1;
if ($lastresult > $num_rows)
{
$lastresult = $num_rows;
}
# sql limit starts at 0
my $start_point = $firstresult - 1;
my $sth = $dbh->prepare("Select name,path from video order by name LIMIT $start_point,$num_results_perpage");
$sth->execute();
while (@row = $sth->fetchrow_array())
{
$name = $row[0];
$path = $row[1];
$path =~ s/'/%27/g;
$dsp = substr $path, 27, 255;
print "$name
";
$count=$count+1;
}
$sth->finish();
# page links
my ($prev_link, $next_link, $pagelinks, $pageno, $thislink, $pagesize);
my $prev_page = $reqpage - 1;
my $next_page = $reqpage + 1;
if ($reqpage == 1)
{
$prev_link = "";
}
else
{
$prev_link = " ". "previous" . "";
}
if ($reqpage == $pagecount)
{
$next_link = "";
}
else
{
$next_link = " ". "Next" . "";
}
if ($pagecount > 1)
{
$pagelinks = $prev_link;
$pageno = 0;
while ($pageno < $pagecount)
{
$pageno++;
if ($pageno == $reqpage)
{
$thislink = " $pageno ";
}
else
{
$thislink = " " . $pageno . "";
}
$pagelinks = $pagelinks . $thislink;
}
$pagelinks = $pagelinks . " " . $next_link;
}
else
{
$pagelinks = "";
}
print "
";
print $count . "
";
print $pagelinks . "
";
print "Database Results: " . $num_rows . "
";
print "Page " . $firstresult . " Of " . $pageno;
print qq~
~;