Avatar billede pede15 Nybegynder
21. juli 2003 - 16:21 Der er 12 kommentarer og
1 løsning

Opdeling af db-udtræk på flere sider

Ja, det er sikkert en bagatel, men ligenu kan jeg fandme ikke greje den - jeg har en db med nogle poster i. lad os bare sig 20. Jeg har en side som henter dem ud - 5 ad gangen - men - kun de 5 første - og jeg vil jo gerne have lavet således at man kan gå frem og tilbage. Hvordan gør man lige det? 8)
Avatar billede tuctoh Nybegynder
21. juli 2003 - 16:22 #1
søg efter "pageing" og jeg vil væde med at du finder de første 100 svar på dit problem :)
Avatar billede schaefner Juniormester
21. juli 2003 - 16:23 #2
og her er en:

<?php
$offset = (isset($_GET['offset'])) ? $_GET['offset'] : 0; // Hvis ikke $offset er sat, sættes den til 0
$pr_side = 10; // Antal resultater pr. side

// Henter poster fra databasen
$query = mysql_query("SELECT * FROM tabel ORDER BY id DESC LIMIT $offset,$pr_side") or die (mysql_error());
while($row = mysql_fetch_array($query)) {
    echo "$row[id] - $row[felt]<br>";
}
?>
<hr>
<?php
// Tæller antal poster i databasen
$tael = mysql_query("SELECT COUNT(*) AS antal FROM tabel") or die (mysql_error());
$antal = mysql_result($tael,0);

//Koden herunder burde give sig selv, hvis du kan lidt matematik
if ($offset >= $pr_side) {
    $forrige = $offset-$pr_side;
    echo "<a href='?offset=$forrige'>Forrige</a> ";
}
if ($antal > $offset+$pr_side) {
    $naeste = $offset+$pr_side;
    echo "<a href='?offset=$naeste'>Næste</a>";
}
?>
Avatar billede pede15 Nybegynder
21. juli 2003 - 16:29 #3
Den prøver jeg lige Schaefner ;)
Avatar billede schaefner Juniormester
21. juli 2003 - 16:30 #4
Lidt kortere:

$tael = mysql_query("SELECT COUNT(*) AS antal FROM tabel") or die (mysql_error());
$antal = mysql_result($tael,0);

til:

$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM tabel"),0);
Avatar billede pede15 Nybegynder
21. juli 2003 - 16:48 #5
Schaefner>> Jeg har næsten fået det til at virke - men "forrige" og "næste" fungerer ikke helt - og som det står ovenfor, kommer de slet ikke frem - hvis jeg derimod vender  >'erne - så kommer de frem - men så går der kage i det. - help? ;)
Avatar billede schaefner Juniormester
21. juli 2003 - 16:51 #6
$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM tabel"),0);

Du har husket at ændre "tabel" til den tabel du benytter?
Avatar billede pede15 Nybegynder
21. juli 2003 - 16:51 #7
Ja selvfølgelig ;)
Avatar billede pede15 Nybegynder
21. juli 2003 - 16:52 #8
har jeg ikke det - doh! *sigh*.... ;)
Avatar billede schaefner Juniormester
21. juli 2003 - 16:55 #9
har du et link?
Avatar billede pede15 Nybegynder
21. juli 2003 - 16:57 #10
Det virker nu ;) - veil tak Schaefner! 8)

ps: læg et svar
Avatar billede schaefner Juniormester
21. juli 2003 - 16:57 #11
svar'

mvh. Jesper Sørensen
Avatar billede pede15 Nybegynder
21. juli 2003 - 16:58 #12
Og fortsat go sommer ;)
Avatar billede schaefner Juniormester
21. juli 2003 - 17:00 #13
jo tak, i lige måde ;o)

mvh. Jesper Sørensen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester