Avatar billede crapmaster Nybegynder
09. december 2004 - 22:52 Der er 13 kommentarer og
4 løsninger

Hjælp til side skift

Hej allesammen!

Er der ikke en der vil hjælpe mig med at lave denne kode så man ikke har en fuld liste, men kan trykke på næste og så hopper den til næste side,


KODEN:


<?
include("config.php");
if(!isset($_GET['mode']))
    {
    $_GET['mode'] = "";
    }
if($_GET['mode'] == "")
    {
    ?>
    <table>
    <tr>
      <td>#</td>
      <td>Title</td>
      <td>År</td>
    </tr>
    <?
   

    $sql = mysql_query("SELECT * FROM dvdfilm ORDER BY film_id");
    if(mysql_num_rows($sql))
        {
        while($row = mysql_fetch_assoc($sql))
            {
            print("
            <tr>
            <td>".$row['film_id']."</td>
            <td><a href='?mode=film&id=".$row['nr']."'>".$row['titel']."</a></td>
            <td>".$row['aar']."</td>
              ");
              }
        }
    else
        {
        print("<tr><td colspan='3'>Der er ikke nogle film.</td></tr>");
        }
    }
elseif($_GET['mode']=="film_id")
    {
    if(!isset($_GET['id']))
        {   
        $sql = mysql_query("SELECT * FROM dvdfilm WHERE film_id=".$_GET['id']);
        if(mysql_num_rows($sql))
            {
            $row = mysql_fetch_assoc($sql);
            print("
            <b>Noget om filmen</b>
            ".$row['film_id']."
            ");
            }
        else
            {
            echo "Fejl...";
            }
        }
    else
        {
        echo "Fejl, id er ikke sat";
        }
    }
else
    {
    //echo "Fejl, $_GET['id'] er noget andet end det skal være!";
    }
?>
Avatar billede baitianlong Nybegynder
09. december 2004 - 23:08 #1
Du kan bruge LIMIT

$tal = $_GET['tal'];
if(!isset($tal) || $tal < 1) $tal = 1;
$sql = mysql_query("SELECT * FROM dvdfilm ORDER BY film_id LIMIT $tal, 5");

Så på knappen til næste side (som naturligvis er den samme)

onClick="window.location.href='<?= $_SERVER['PHP_SELF'] ?>?tal=<?= $tal+5 ?>';"
Avatar billede baitianlong Nybegynder
09. december 2004 - 23:15 #2
Og du kan lave en tilbageknap også, naturligvis:

onClick="window.location.href='<?= $_SERVER['PHP_SELF'] ?>?tal=<?= $tal-5 ?>';"
Avatar billede crapmaster Nybegynder
10. december 2004 - 06:59 #3
Hvordan skal det indsættes i koden ?
Avatar billede crapmaster Nybegynder
12. december 2004 - 14:36 #4
ok men hvor skal det indsættes henne
Avatar billede baitianlong Nybegynder
12. december 2004 - 15:39 #5
Der hvor du i forvejen har din $sql = ...

Linie 17-18-19
Avatar billede crapmaster Nybegynder
16. december 2004 - 18:12 #6
Hvor skal disse ind sættes henne!?

onClick="window.location.href='<?= $_SERVER['PHP_SELF'] ?>?tal=<?= $tal+5 ?>';"

onClick="window.location.href='<?= $_SERVER['PHP_SELF'] ?>?tal=<?= $tal-5 ?>';"
Avatar billede baitianlong Nybegynder
16. december 2004 - 18:33 #7
på frem og tilbage knapper nederst på siden, vil jeg foreslå, altså udenfor scriptet:

<p align="center">
<input type="button" value="<< Tilbage" onClick="window.location.href='<?= $_SERVER['PHP_SELF'] ?>?tal=<?= $tal-5 ?>';">
<input type="button" value="Frem >>" onClick="window.location.href='<?= $_SERVER['PHP_SELF'] ?>?tal=<?= $tal+5 ?>';">
</p>

...så kan folk bladre frem og tilbage (de fem næste/forrige vises)
Avatar billede crapmaster Nybegynder
16. december 2004 - 23:49 #8
Ville det være muligt at få side nummer på ( 1 2 3 4 5 6 )
Avatar billede baitianlong Nybegynder
17. december 2004 - 14:43 #9
Ja, f.eks sådan her:

<a href="<?= $_SERVER['PHP_SELF'] ?>?tal=1">Side 1</a>
<a href="<?= $_SERVER['PHP_SELF'] ?>?tal=6">Side 2</a>
<a href="<?= $_SERVER['PHP_SELF'] ?>?tal=11">Side 3</a>

og så videre :)
Avatar billede crapmaster Nybegynder
18. december 2004 - 19:20 #10
Det er ikke sådan et sideskift jeg mener !

Eks. ( << 1 2 3 4 5 6 7 8 9 >> ) o.s.v.
Alså jo flere film der kommer på listen jo flere sider
Avatar billede baitianlong Nybegynder
18. december 2004 - 20:18 #11
Det er også sådan disse "knapper" jeg har skrevet koden til virker !

hvor mange der skal være beregner du så udfra mysql_num_rows() / 5

Nu skal jeg lige putte det hele ind i din side der:

<?
include("config.php");
if(!isset($_GET['mode']))
    {
    $_GET['mode'] = "";
    }
if($_GET['mode'] == "")
    {
    ?>
    <table>
    <tr>
      <td>#</td>
      <td>Title</td>
      <td>År</td>
    </tr>
    <?

    $tal = $_GET['tal'];
    if(!isset($tal) || $tal < 1) $tal = 1;
    $sql = mysql_query("SELECT * FROM dvdfilm ORDER BY film_id LIMIT $tal, 5");

    if(mysql_num_rows($sql))
        {
    $antalsider = ceil(mysql_num_rows($sql) / 5);
        while($row = mysql_fetch_assoc($sql))
            {
            print("
            <tr>
            <td>".$row['film_id']."</td>
            <td><a href='?mode=film&id=".$row['nr']."'>".$row['titel']."</a></td>
            <td>".$row['aar']."</td>
              ");
              }
        }
    else
        {
        print("<tr><td colspan='3'>Der er ikke nogle film.</td></tr>");
        }
    }
elseif($_GET['mode']=="film_id")
    {
    if(!isset($_GET['id']))
        {   
        $sql = mysql_query("SELECT * FROM dvdfilm WHERE film_id=".$_GET['id']);
        if(mysql_num_rows($sql))
            {
            $row = mysql_fetch_assoc($sql);
            print("
            <b>Noget om filmen</b>
            ".$row['film_id']."
            ");
            }
        else
            {
            echo "Fejl...";
            }
        }
    else
        {
        echo "Fejl, id er ikke sat";
        }
    }
else
    {
    //echo "Fejl, $_GET['id'] er noget andet end det skal være!";
    }
?>
<p align="center">
<input type="button" value="<< Tilbage" onClick="window.location.href='<?= $_SERVER['PHP_SELF'] ?>?tal=<?= $tal-5 ?>';">
<?
$i = 1;
while($i <= $antalsider) {
    print "<a href=\"".$_SERVER['PHP_SELF']."?tal=".5*$i-4.'"\">".$i."</a>";
}
?>
<input type="button" value="Frem >>" onClick="window.location.href='<?= $_SERVER['PHP_SELF'] ?>?tal=<?= $tal+5 ?>';">
</p>

...sådan :)
Avatar billede morteeart Nybegynder
18. december 2004 - 20:19 #12
crapmaster, det er ikke tilladt at have 2 åbne spørgsmål:

ref: http://www.eksperten.dk/spm/572413

spild af tid at åbne et nyt, når du får fine svar her..
Avatar billede morteeart Nybegynder
18. december 2004 - 20:22 #13
og det er faktisk 3 gange du stiller dette spørgsmål..

TÅLMODIGHED !!!!
Avatar billede baitianlong Nybegynder
18. december 2004 - 20:24 #14
Ja, jeg løser jo problemerne her, et efter et, efterhånden som de bliver tilføjet.
Avatar billede crapmaster Nybegynder
18. december 2004 - 21:26 #15
// Lukker og flytter det over på
http://www.eksperten.dk/spm/572413
da jeg ikke må have flere spm open afgangen...
Avatar billede morteeart Nybegynder
18. december 2004 - 21:30 #16
lol

/me synes crapmaster fortjener deaktivering
Avatar billede Slettet bruger
19. december 2004 - 20:06 #17
gør jeg også, i meget høj grad - se evt

http://www.eksperten.dk/spm/572493
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