Il faut que tu utilise la fonction LIMIT dans tes requètes SQL, de ce style :
$sql = "SELECT `champ1`, `champ2` FROM `table` LIMIT
debut,
total à retournerPar exemple tu fait une variable page passée en URL qui va donner le numéro de la page, dans ton script php tu met le code suivant :
$limite = (isset($_GET['page']) && !empty($_GET['page']))?(($_GET['PAGE'] * 12) - 12):0;
mysql_query("SELECT `champ1`, `champ2` FROM `table` LIMIT ".$limite.",12");
Enfin faut adapter à ta requête SQL, le plus important c'est le LIMIT, $limite sert à calculer à partir de ou on doit commencer à renvoyer des lignes. LIMIT x,y veut donc dire : Renvoyer à partir de l'enregistrement n°x, et pendant y enregistrements.
Tu peut juste mettre LIMIT y pour avoir une limite "simple" : Renvoyer seulement les y premiers enreigstrements.