kan iemand mij een voor beeld geven over hoe ik de gegevens van een data base laat weergeven op mijn pagina echter moet hij me 5rows weergeven en de volgende op een volgende pagina
<?php
$sql = "SELECT COUNT(id) FROM `your_table`";
$result = mysql_query($sql)or die(mysql_error());
$tegaan = mysql_result($result,0) - 5;
$sql = "SELECT * FROM `your_table` LIMIT 5,".$tegaan;
$result = mysql_query($sql)or die(mysql_error());
?>
het moet kompakter kunnen maar ik zelf ben niet zo goed nog met querys
$gastenboek_sql = "SELECT * FROM hp ORDER BY pid DESC LIMIT ".$start.", ".$berichten_per_pagina." " ;
$gastenboek_result1 = mysql_query($gastenboek_sql);
?>
<?php
@Johan: Waarom toch die idiote backticks in je queries? Wil je soms meer bugs in je code zetten?
Pagination maak je met LIMIT en OFFSET:
SELECT
kolomnaam
FROM
tabelnaam
LIMIT 5
OFFSET 0;
Offset krijgt bij pagina 1 de waarde 0, bij pagina 2 de waarde (aantal resultaten per pagina + offset vorige pagina) = 5, bij pagina 3 de waarde (aantal resultaten per pagina + offset vorige pagina) = 10, etc.
De smerige LIMIT die Johan voorstelt kan voor problemen zorgen, LIMIT gedraagt zich dan zeer verschillt, afhankelijk van het aantal parameters. OFFSET voor een offset is eenvoudiger/logischer.
De smerige LIMIT die Johan voorstelt kan voor problemen zorgen, LIMIT gedraagt zich dan zeer verschillt, afhankelijk van het aantal parameters. OFFSET voor een offset is eenvoudiger/logischer.
Hoi, Ik gebruik ook altijd LIMIT 10,20 bijv... Ken je misschien vertellen wat de problemen kunnen zijn die er mee kunnen voorkomen.
@René:
LIMIT 10 beperkt het aantal resultaten tot maximaal 10 stuks.
LIMIT 10, 20 beperkt het aantal resultaten tot maximaal 20 stuks en begint te tellen met offset 10.
De ene keer heeft de eerste parameter dus de betekenis van een LIMIT (logisch) en de andere keer de betekenis van een offset (niet logisch). Gebruik dan gewoon OFFSET, dan is het duidelijk dat offset offset is.
Probeer zo te programmeren dat het moeilijk wordt om fouten te maken en mocht je toch een fout maken (gebeurt iedereen), dat je de fout dan snel ziet.
LIMIT 10,20;
Of
LIMIT 10,
OFFSET 20;
Bij de 2e variant hoef je niet na te denken wat er hier gebeurt, het is keurig uitgeschreven. Bij de eerste variant kun je eenvoudig een fout maken en er overheen lezen, je kunt aan de syntax niet zien wat de betekenis is van de parameters.
En ja, dit werkt ook al sinds jaar en dag in MySQL.