Avatar billede kongfjong Nybegynder
18. februar 2005 - 20:38 Der er 5 kommentarer og
1 løsning

Forklaring af GET-variabler

Hey;

Jeg har læst en artikel her på siden, om paging. Noget af koden bliver forklaret således:

/* Hvis visfra-variablen ikke findes i URL-feltet og den ikke er et nummer og den er større end antallet i databasen, så sættes den til 0, ellers sættes den til værdien fra URL feltet */
$vis_fra = (isset($_GET["visfra"]) && is_numeric($_GET["visfra"]) && $_GET["visfra"] < $antal) ? $_GET["visfra"] : 0;

Det jeg så gerne vil vide er, hvordan visfra-variablen bliver defineret via URL-feltet?

Håber I forstår sprøgsmålet;)
Avatar billede alister_crowley Nybegynder
18. februar 2005 - 20:40 #1
f.eks. på www.domæne.dk/index.php?side=hej

der er "side" = $_GET['side']; og "hej" værdien af $_GET['side'];

Læs mere i manualen. http://se2.php.net/manual/en/reserved.variables.php#reserved.variables.get
Avatar billede sukos Juniormester
18. februar 2005 - 21:08 #2
is_numeric() tjekker om $_GET["visfra"] er et tal.
Så kan du ikke bruge en streng.

Bruger selv dette:

<?php

function make_link($getvar, $tx, $filnavn="", $class="") {
if(empty($filnavn)) {
$filename = $_SERVER["PHP_SELF"];
}else{
$filename = $filnavn;
}
return "<a href=\"". $filename . $getvar ."\" class=\"". $class ."\">". htmlentities($tx) ."</a>";
}

function make_sublinks($antalviste, $ialt, $getvar, $qstring="") {

if($ialt > $antalviste) {

if(isset($_GET[$getvar]) && $_GET[$getvar] >= $ialt) {
return;
}

if(!empty($qstring)) {
$qlink = $qstring ."&amp;". $getvar ."=";
}else{
$qlink = "?". $getvar ."=";
}

    if(!isset($_GET[$getvar]) || !is_numeric($_GET[$getvar]) || $_GET[$getvar] < 0) {
    $back = "&nbsp;";
    $next = make_link($qlink . $antalviste, "næste") ." &nbsp; ". make_link($qlink . ($ialt-$antalviste), ">>");
    $info = "1 - ". $antalviste ." af ". $ialt;
    }else{
    $info = ($_GET[$getvar]+1) ." - ". ($_GET[$getvar]+$antalviste) ." af ". $ialt;

        if($_GET[$getvar] <= $antalviste) {
        $linket = $qstring;
        }elseif($_GET[$getvar] >= $ialt) {
        $linket = $qlink . ($ialt-$antalviste);
        }else{
        $linket = $qlink . ($_GET[$getvar]-$antalviste);
        }
        $back = make_link($qstring, "<<") ." &nbsp; ". make_link($linket, "forrige");

        if(($_GET[$getvar]+$antalviste) >= $ialt) {
        $next = "&nbsp;";
        $info = ($_GET[$getvar]+1) ." - ". $ialt ." af ". $ialt;
        }else{
        $next = make_link($qlink . ($_GET[$getvar]+$antalviste), "næste");
            if($_GET[$getvar] < ($ialt-$antalviste)) {
            $next = $next ." &nbsp; ". make_link($qlink . ($ialt-$antalviste), ">>");
            }
        }
    }

echo"<table width=\"400\" border=\"0\" align=\"center\"><tr>\n";
echo"    <td width=\"33%\" class=\"small\">". $back ."</td>\n";
echo"    <td width=\"34%\" class=\"small\" align=\"center\">". $info ."</td>\n";
echo"    <td width=\"33%\" class=\"small\" align=\"right\">". $next ."</td>\n";
echo"</tr></table>";
    }
}

make_sublinks(5, 43, "vis");

?>
Avatar billede sukos Juniormester
18. februar 2005 - 21:13 #3
make_sublinks($antalviste, $ialt, $getvar, $qstring="")
$antalviste er hvor mange som skal vises ad gangen (5)
$ialt er hvor mange der findes ialt (43)
$getvar er den get variabel som skal sættes for at lave "næste" link (vis)
$qstring er evt. andre getvariabler


make_sublinks(5, 43, "gt", "?oel=sundt&meget_oel=er_meget_sundt");
Avatar billede kongfjong Nybegynder
18. februar 2005 - 22:39 #4
Kan du evt. prøve at forklare ditkodeeksempel lidt nærmere? Er stået lidt af;)
Avatar billede sukos Juniormester
20. februar 2005 - 13:12 #5
ehh, johhh........

eller
ikke rigtigt...........

kodnings-mæssigt kunne det gøres simplere

Der tjekkes jo om der skal være link til næste/forrige side, og hvis det er tilfældet, vises lidt info om hvad man ser og hvor mange man kan se.
Avatar billede kongfjong Nybegynder
21. marts 2005 - 22:48 #6
Lukket
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