Requête MYSQL avec PHP pagination

Je suis en train d'écrire un script qui extrait d'une requête spécifique à partir d'une base de données MYSQL puis de paginer les résultats.

Je pense que je sais ce que les solutions sont ses juste une question de mon manque de connaissances sur la façon de mettre en œuvre /script eux.

Voici mon script qui est partiellement de travail :

<?php
$tstart = 0; 
$tend = 0;
//$tpage = 0; //the start page
//$tpages = 0; //number of pages
$tpagelinks = ""; //stores the output pagination
$ttotal = 0; / total number of results
$trows = 5; //number of results per page
$online = ""; //stores the results to display
$dbhost = "localhost"; 
$dbuser = "****_models"; 
$dbpass = "****";
$dbcon = @mysql_connect($dbhost,$dbuser,$dbpass) or die('Database error: ' . mysql_error());
$db = mysql_select_db('****_cammodels', $dbcon) or die('Database error: ' . mysql_error());
$query = "SELECT * FROM cbmodels WHERE gender='f' AND status='Public' AND age<='22'";
$result = mysql_query($query) or die('Query failed: ' . mysql_error() . "\nQuery: $query");
while($row = mysql_fetch_array($result))
{
$online .= "#". $ttotal . " \n";
$online .= $row['status'] . "/" . $row['name'] . "/" . $row['gender'] . "/" . $row['age'] . "\n";
$online .= "<br>\n";
$ttotal ++;
}
$tstart = ($tpage * $trows) - $trows;
$tend = $tstart + $trows;
if ($tend > $ttotal) { $tend = $ttotal; }
$tpages = floor($ttotal / $trows);
if ($ttotal % $trows != 0) { $tpages ++; }
if ($tpage > $tpages) { $tpage = 1; }
if ($tpage > 1) { $tpagelinks .= "<a class='allonlinepages_url' href='new_from_db.php?page=" . ($tpage - 1) . "'>PREVIOUS</a>\n"; }
for ($ti = 1; $ti <= $tpages; $ti ++)
{
if ($tpage == $ti) { $tpagelinks .= "$ti \n"; }
else { $tpagelinks .= "<a class='allonlinepages_url' href='new_from_db.php?page=$ti' >$ti</a>\n"; }
}
if ($tpage < $tpages) { $tpagelinks .= "<a class='allonlinepages_url' href='new_from_db.php?page=" . ($tpage + 1) . "' >NEXT</a>\n"; }
echo $online;
echo $tpagelinks;
mysql_close($dbcon);
?>

Ce qu'il est en train de faire est de montrer tous les résultats trouvés dans la base de données, la pagination comte semble montrer le bon nombre de pages, mais les liens sont mal /ne pas afficher la page suivante de résultats.

Je pense que j'ai besoin d'interroger la base de données pour obtenir un nombre de lignes de la pagination de la première puis de calculer le nombre de pages, puis faire une autre requête pour obtenir les résultats peut-être stocker dans un autre tableau de résultats par page ? ou quelque chose à cet effet.
J'ai essayé de nombreuses fois et le script ci-dessus est le plus proche que j'ai eu pour l'obtenir presque de travail toutes mes autres tentatives venez de rompre le script et de produire des résultats étranges, voire aucun.

Le script que j'ai fait pour extraire les données de l'alimentation pour stocker dans la base de données elle-même de repérage en ligne et hors ligne fonctionne correctement donc je n'ai pas compris qu'il s'agit d'un script séparé de toute façon.

Je vous remercie d'avance pour toute aide, les Gars.

MODIFIER
Enlevé toutes les aucun code de travail RE: Commentaires.

InformationsquelleAutor user2495392 | 2013-06-18