Avatar billede challenge Praktikant
25. december 2005 - 22:11 Der er 6 kommentarer og
1 løsning

Problemer med paging-script

Hej alle.

Har lidt problemer med et script, hér:

<?php
// Tæller antal poster i databasen
$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM billedgal_$_GET[side]"),0);

if ($antal > 9) {
$tal = 0;
$tal2 = $_GET['offset'] + 9;
$tal3 = $_GET['offset'] - 9;
$i = 2;
if ($_GET['offset'] != 0) echo "<tr><td class=btext2>&nbsp;&nbsp;&nbsp;&nbsp;Navigér:&nbsp;<a href=billedgalleri.php?side=".$_GET['side']."&offset=". $tal3 .">&lt;</a>&nbsp;";
else echo "<tr><td class=btext2>&nbsp;&nbsp;&nbsp;&nbsp;Navigér:&nbsp;<b>&lt;</b>&nbsp;";
if ($_GET['offset'] == 0) echo "<b>1</b>&nbsp;";
else echo "<a href=billedgalleri.php?side=".$_GET['side']."&offset=0>1</a>&nbsp;";
while ($tal <= $antal / 9) {
$tal = $tal + 9;

if ($_GET['offset'] == $tal) echo "<b>".$i."</b>&nbsp;";
while ($_GET['offset'] >= ($antal / 9)) { echo "<a href=billedgalleri.php?side=".$_GET['side']."&offset=". $tal .">".$i."</a>&nbsp;"; $tal = $tal + 9; $i++; }
if ($_GET['offset'] >= $antal / 9) echo "<b>&gt;</b></td></tr>";
else echo "<a href=billedgalleri.php?side=".$_GET['side']."&offset=". $tal2 .">&gt;</a></td></tr>";
$i++;
}
}
else
echo "&nbsp;";
?>

Det er et paging-script...

så lige et spørgsmål:

Mine "tal" ($i) stopper ikke, selv om der ikke er flere poster i databasen - Hvad gør jeg?

Håber at i kan hjælpe...
Avatar billede challenge Praktikant
26. december 2005 - 12:32 #1
Avatar billede challenge Praktikant
26. december 2005 - 20:54 #2
Er jeg meget galt på den med koden hér?
Avatar billede avminarm Juniormester
27. december 2005 - 11:14 #3
jeg kan ikke lige gennemskue hvad din kode gør?, mangler du ikke at der hentes poster fra en database når der trykkes på en ny side?

Du bør bruge { og } når du har så mange if/else - det gør scriptet lettere at overskue ala det her (rettet hurtigt i notepad).

måske kan du hente inspiration her:
http://www.script.dk/sourcecode.jsp?resourceId=1142

<?php
// Tæller antal poster i databasen
$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM billedgal_$_GET[side]"),0);

if ($antal > 9) {
    $tal = 0;
    $tal2 = $_GET['offset'] + 9;
    $tal3 = $_GET['offset'] - 9;
    $i = 2;

    if ($_GET['offset'] != 0){
        echo "<tr><td class=btext2>&nbsp;&nbsp;&nbsp;&nbsp;Navigér:&nbsp;<a href=billedgalleri.php?side=".$_GET['side']."&offset=". $tal3 .">&lt;</a>&nbsp;";
    } else {
        echo "<tr><td class=btext2>&nbsp;&nbsp;&nbsp;&nbsp;Navigér:&nbsp;<b>&lt;</b>&nbsp;";
    }

    if ($_GET['offset'] == 0) {
        echo "<b>1</b>&nbsp;";
    } else {
        echo "<a href=billedgalleri.php?side=".$_GET['side']."&offset=0>1</a>&nbsp;";

    }
    while ($tal <= $antal / 9) {
        $tal = $tal + 9;

        if ($_GET['offset'] == $tal) {
            echo "<b>".$i."</b>&nbsp;";
        }
        while ($_GET['offset'] >= ($antal / 9)) { echo "<a href=billedgalleri.php?side=".$_GET['side']."&offset=". $tal .">".$i."</a>&nbsp;"; $tal = $tal + 9; $i++; }
            if ($_GET['offset'] >= $antal / 9) {
                echo "<b>&gt;</b></td></tr>";
            } else {
                echo "<a href=billedgalleri.php?side=".$_GET['side']."&offset=". $tal2 .">&gt;</a></td></tr>";
            }
        $i++;
        }
    }
} else {
    echo "&nbsp;";
}
?>
Avatar billede challenge Praktikant
27. december 2005 - 11:52 #4
Damn...
Mens du har siddet og skrevet, har jeg udskiftet hele koden - Og det virker nu...
Det er jeg virkelig ked af!
Smid et svar - For indsatsen...!
Avatar billede challenge Praktikant
27. december 2005 - 13:08 #5
Du får self ikke alle 150 point ;)
Avatar billede avminarm Juniormester
27. december 2005 - 18:21 #6
behøves ikke - men vis din egen løsning her - måske kan andre have glæde af den :-)
Avatar billede challenge Praktikant
27. december 2005 - 19:33 #7
Jo, self.
Jeg brugte bare en tutorial: http://www.php-mysql-tutorial.com/php-mysql-paging.php - Den skulle bare modificeres lidt :)

Men hvis du ikke vil have pointene - Så får du dem sku heller ikke ;)
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