La Pagination de l'utilisation de MySQL LIMITE, OFFSET

J'ai un code qui Limite les données à afficher seulement 4 articles par page. La colonne que j'utilise est d'environ 20 à 30 éléments, donc j'ai besoin de faire ces réparties à travers les pages.

Sur la première page, j'ai:

    $result = mysqli_query($con,"SELECT * FROM menuitem LIMIT 4");
{
  echo "<tr>";
  echo "<td align='center'><img src=\"" . $row['picturepath'] . "\" /></td>";
  echo "<td align='center'>" . $row['name'] . "</td> <td align='center'> <input type='button' value='More Info'; onclick=\"window.location='more_info.php?';\"> </td>";
  echo "<td align='center'>" . $row['price'] . "</td> <td align='center'> <input type='button' value='Add to Order' onclick=''> </td>";
  echo "</tr>";
 }
echo "</table>";

mysqli_close($con);

    ?> 

    <table width="1024" align="center" >
        <tr height="50"></tr>
            <tr>
                <td width="80%" align="right">
                    <a href="itempage2.php">NEXT</a>
                </td>
                <td width="20%" align="right">
                    <a href="">MAIN MENU</a>
                </td>
            </tr>
    </table>

Vous remarquerez vers le bas de la page ma balise d'ancrage dans les listes de la deuxième page, "itempage2.php". Dans la page de l'article 2, j'ai le même code, à l'exception de mon instruction select listes de l'offset de 4.

$result = mysqli_query($con,"SELECT * FROM menuitem LIMIT 4 offset 4");

Cela fonctionne, de cette façon quand il y a un nombre prédéterminé d'éléments de ma base de données. Mais il n'est pas bon. J'ai besoin de créer une nouvelle page que si il y a plus d'éléments, pas codées en dur dans comme il est maintenant.

Comment puis-je créer plusieurs pages sans avoir à coder en dur chaque nouvelle page, et le décalage?

  • À l'aide de $_GET dans la partie supérieure. Si pas de $_GET, le décalage est de 0. Limite pourrait être codé en dur comme un système de pagination (par ex. 10 articles par page)