Pagination

I have a list of more than 50 merchants I want to display,( i would like to display them with images and headers, but i have only used sql for biodata collection)and I would like the customer to choose the number they want; for example, they should be able to choose if they want the page to display only 10, 20 or all.At the moment I made about 3 diff pages so that they can press the next button to the diferent pages (all coded in php). i have read up on pagination( but it only uses a normal biodata like name in the example, i think my first step is ow to structure the database

1.please can you point me to a tutorial on ow to make a database to include the images with the header

this is the php code for one of the similar list

<li class="af-banner">
    <h2>
        <a href="women.php">Lingerie Please</a>
     </h2>
<a href="women.php"><img height="125" width="125"  src="img/lingerieplease.jpg" alt=" Lingerie Please"/>
</a>
<p class="promo-seo">
 Female
<!--<a href="women.php">women</a>-->
</p>
  </li>

related css

 #af-banners{
  width:860px;
}

.af-banner{
   border: medium none;
   display:block;
   float: left;
   padding: 0 15px 2px 0;
   width: 200px;
   color:#ffcc00;
}
.af-banner a{
 color:gold;
 }
.promo-seo{
color:white;
display:block;
float:left;
font:12px arial;
height:75px;
margin-bottom:5px;
padding:7px 5px 0;
text-align:left!important;
width:218px;
}
.promo-seo-link{
color:#ffcc33;
text-decoration:none;

}
.promo-seo-link:visited{
color:#ffcc33;
}
.promo-seo a{
 color:gold;
 }