Avatar billede fommy Nybegynder
08. november 2007 - 13:08 Der er 8 kommentarer og
1 løsning

Paging gået i vasken

Jeg er ved at lave paging på et produktgalleri, men det går sgu ikke så godt..
Jeg skal have lavet paging med 4 billeder af gangen på det her:

<?php
require_once 'includes/mysql.connect.php';

$cat = mysql_real_escape_string($_GET['cat'], $link);

if (!isset($cat) || !is_numeric($cat) || $cat == "") {
    echo "<a href=\"?cat=1\"><img src=\"graphics/gasburners.jpg\" alt=\"Gasbrændere\" title=\"Gasbrændere\" /></a>
        <a href=\"?cat=2\"><img src=\"graphics/furniture.jpg\" alt=\"Møbler\" title=\"Møbler\" /></a>
        <a href=\"?cat=3\"><img src=\"graphics/potsandpans.jpg\" alt=\"Gryder og pander\" title=\"Gryder/pander\" /></a>
        <a href=\"?cat=4\"><img src=\"graphics/utilities.jpg\" alt=\"Tilbehør\" title=\"Tilbehør\" /></a>";
}

if (isset($cat) && is_numeric($cat) && $cat != "") {
   
    $query = "SELECT * FROM gallery WHERE gallery_category = $cat ORDER BY gallery_itemname ASC";
    $result = mysql_query($query) or die("Could not execute query.<br />Error: ".mysql_error());
   
    if (mysql_num_rows($result) > 0) {
       
        echo "<a href=\"?cat=".$cat."&offset=".$offset."\">&laquo</a>";
       
        while ($row = mysql_fetch_array($result)) {
            echo "<a href=\"?cat=".$cat."&offset=".$offset."&img=".$row['gallery_id']."\"><img src=\"images/thumb_".$row['gallery_image']."\" /></a>";
        }
       
        echo "<a href=\"?cat=".$cat."&offset=".$offset."\">&raquo</a>";
       
    mysql_free_result($result);
    unset($result, $query, $row);

    } else {
        echo "Der er desværre ingen produkter i denne kategori endnu.";
    }
}
?>

Kan du hjælpe mig med at få paging til at virke her?
Avatar billede jakobdo Ekspert
08. november 2007 - 17:34 #1
$_GET['cat'] er dette et nummer / heltal ?
Avatar billede jakobdo Ekspert
08. november 2007 - 17:38 #2
Prøv at test følgende kode:

<?php
require_once 'includes/mysql.connect.php';

$cat = (isset($_GET['cat']) && is_numeric($_GET['cat']) && $_GET['cat'] > 0)?intval($_GET['cat']):0;
$offset = (isset($_GET['offset']) && is_numeric($_GET['offset']) && $_GET['offset'] > 0)?intval($_GET['offset']):0;
$limit = 10; //antal pr side

if ($cat == 0) {
    echo "<a href=\"?cat=1\"><img src=\"graphics/gasburners.jpg\" alt=\"Gasbrændere\" title=\"Gasbrændere\" /></a>
        <a href=\"?cat=2\"><img src=\"graphics/furniture.jpg\" alt=\"Møbler\" title=\"Møbler\" /></a>
        <a href=\"?cat=3\"><img src=\"graphics/potsandpans.jpg\" alt=\"Gryder og pander\" title=\"Gryder/pander\" /></a>
        <a href=\"?cat=4\"><img src=\"graphics/utilities.jpg\" alt=\"Tilbehør\" title=\"Tilbehør\" /></a>";
} else {
    $query = "SELECT * FROM gallery WHERE gallery_category = $cat ORDER BY gallery_itemname ASC LIMIT $offset,$limit";
    $result = mysql_query($query) or die("Could not execute query.<br />Error: ".mysql_error());
 
    if (mysql_num_rows($result) > 0) {
        echo "<a href=\"?cat=".$cat."&offset=".$offset."\">&laquo</a>";
     
        while ($row = mysql_fetch_array($result)) {
            echo "<a href=\"?cat=".$cat."&offset=".$offset."&img=".$row['gallery_id']."\"><img src=\"images/thumb_".$row['gallery_image']."\" /></a>";
        }
     
        echo "<a href=\"?cat=".$cat."&offset=".$offset."\">&raquo</a>";
     
        mysql_free_result($result);
    } else {
        echo "Der er desværre ingen produkter i denne kategori endnu.";
    }
}
?>
Avatar billede fommy Nybegynder
08. november 2007 - 23:45 #3
yeps, $_GET['cat'] er et tal.
Prøver lige og vender tilbage..
Avatar billede fommy Nybegynder
08. november 2007 - 23:59 #4
Det fungerer ikke helt.. offset bliver ved med at være 0 altid..
Hvad gør det :0 der er bagefter intval?
Avatar billede jakobdo Ekspert
09. november 2007 - 08:29 #5
Offset skal øges og mindskes med størrelsen: $limit;
Så du skal lave en NEXT/NÆSTE og PREV/FORRIGE.

$prev = $offset - $limit;
$next = $offset + $limit;
Avatar billede fommy Nybegynder
19. marts 2008 - 13:14 #6
Jeg glemte alt om den her tråd. Sig lige til, så du kan få dine point :)
Avatar billede jakobdo Ekspert
19. marts 2008 - 13:36 #7
Virker det ?
Og et svar.
Avatar billede fommy Nybegynder
19. marts 2008 - 13:39 #8
Ja, fik det til at virke :)
Avatar billede jakobdo Ekspert
19. marts 2008 - 14:13 #9
Takker for point.
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