Avatar billede tlunde Nybegynder
16. marts 2003 - 13:31 Der er 13 kommentarer og
1 løsning

5 links pr. side...

Hejsa, Jeg har lavet dette link system:
www.thomaslunde.dk/links/oversigt.php

Og så vil jeg gerne have sådan at der kun er 5 links pr side, og sådan at der kommer en oversigt over siderne. Noget ala sådan noget her: forrige | 1 2 3 4 5 | Næste

Min kode der printer links ud ser sådan ud:
----------
<?
$query = mysql_query("SELECT * FROM links WHERE kategori='$_GET[kat]' ORDER BY id");
while ($row = mysql_fetch_array($query)) {

    echo "<tr>";
    echo "<td width='20'><div align='center'><img src='../images/link.gif' width='12' heigth='13'></div></td>";
    echo "<td colspan='3' height='20' valign='middle'><b><a href='oversigt.php?id=$row[id]' target='_blank'>$row[titel]</a></b></td>";
    echo "</tr>";
    echo "<tr>";
    echo "<td width='20' rowspan='3'><div align='center'></div>";
    echo "<div align='center'></div>";
    echo "<div align='center'></div></td>";
    echo "<td colspan='3'>$row[beskrivelse]</td>";
    echo "</tr>";
    echo "<tr>";
    echo "<td width='480'><b>Dato: </b>$row[dato] | <b>Hits: </b>$row[hits] | <b>Tilføjet af: </b><a href='mailto: $row[email]'>$row[navn]</a></td>";
    echo "</tr>";
    echo "<tr>";
    echo "<td colspan='3'>&nbsp;</td>";
    echo "</tr>";
}
?>
----------
Avatar billede ahv Nybegynder
16. marts 2003 - 14:44 #1
Du kan jo prøve at arbejde dig ud fra dette:

<?php

$connection = mysql_pconnect("host","user","pass");
mysql_select_db("database");

$visfra = $_GET[visfra];

if(!$_GET[visfra])
{
$visfra = 0;
}

$query = mysql_query ("SELECT * FROM tabel ORDER BY id DESC limit $visfra, 10");
while ($row = mysql_fetch_array($query)) {
echo $row[id]."<br>";
}

$antal = mysql_num_rows(mysql_query("SELECT * FROM tabel"));

if($visfra>0)
{
$bagud = $visfra-10;
echo "<a href='$PHP_SELF?visfra=$bagud'>Forrige</a> ";
}
$page = 1;
for($start=0; $antal > $start; $start=$start+10){
if($visfra != $page*10-10)
{
echo "<a href='$PHP_SELF?visfra=$start'>$page</a> ";
}else{
echo $page." ";
}
$page = $page+1;
}
if($visfra< $antal-10)
{
$naeste = $visfra+10;
echo " <a href='$PHP_SELF?visfra=$naeste'>Næste</a>";
}
?>


Den viser 10 pr. side, men det burde ikke være så svært at se hvordan du ændre det til f.eks. fem pr. side :o)
Avatar billede Slettet bruger
16. marts 2003 - 15:23 #2
øøh den slags paging du søger der har du da allerede i din kildekode sektion.. kan du ikke 'genbruge' den?
Avatar billede tlunde Nybegynder
16. marts 2003 - 18:24 #3
Jeg har prøvet den, men kan ikke rigtig få den tilpasset sådan at den virker på dette script...er der ikke en eller anden let måde det kan gøres på?
Avatar billede Slettet bruger
16. marts 2003 - 18:26 #4
jo det ahv har lagt.. jeg har da fået det til at virke selv da jeg testede det tidligere...
Avatar billede Slettet bruger
16. marts 2003 - 18:26 #5
eller læg de script du vil ha blandet sammen herinde så vi kan hjælpe dig :)
Avatar billede ahv Nybegynder
16. marts 2003 - 18:27 #6
Prøv:

$visfra = $_GET[visfra];

if(!$_GET[visfra])
{
$visfra = 0;
}

$query = mysql_query("SELECT * FROM links WHERE kategori='$_GET[kat]' ORDER BY id DESC limit $visfra, 5");
while ($row = mysql_fetch_array($query)) {

    echo "<tr>";
    echo "<td width='20'><div align='center'><img src='../images/link.gif' width='12' heigth='13'></div></td>";
    echo "<td colspan='3' height='20' valign='middle'><b><a href='oversigt.php?id=$row[id]' target='_blank'>$row[titel]</a></b></td>";
    echo "</tr>";
    echo "<tr>";
    echo "<td width='20' rowspan='3'><div align='center'></div>";
    echo "<div align='center'></div>";
    echo "<div align='center'></div></td>";
    echo "<td colspan='3'>$row[beskrivelse]</td>";
    echo "</tr>";
    echo "<tr>";
    echo "<td width='480'><b>Dato: </b>$row[dato] | <b>Hits: </b>$row[hits] | <b>Tilføjet af: </b><a href='mailto: $row[email]'>$row[navn]</a></td>";
    echo "</tr>";
    echo "<tr>";
    echo "<td colspan='3'>&nbsp;</td>";
    echo "</tr>";
}

$antal = mysql_num_rows(mysql_query("SELECT * FROM links WHERE kategori='$_GET[kat]'"));

if($visfra>0)
{
$bagud = $visfra-10;
echo "<a href='$PHP_SELF?visfra=$bagud&kat=$_GET[kat]'>Forrige</a> ";
}
$page = 1;
for($start=0; $antal > $start; $start=$start+5){
if($visfra != $page*5-5)
{
echo "<a href='$PHP_SELF?visfra=$start&kat=$_GET[kat]'>$page</a> ";
}else{
echo $page." ";
}
$page = $page+1;
}
if($visfra< $antal-5)
{
$naeste = $visfra+5;
echo " <a href='$PHP_SELF?visfra=$naeste&kat=$_GET[kat]'>Næste</a>";
}
?>
Avatar billede tlunde Nybegynder
16. marts 2003 - 18:28 #7
Jamen, jeg tror da ikke at der er meget kode i det end det jeg har lagt op i toppen, der skal bruges. Det er jo det kode der bare skriver det hele ud, og det er der, der skal sættes en begrænsning på med 5 links pr. side...
Avatar billede Slettet bruger
16. marts 2003 - 18:33 #8
nå ja, jeg glemte lige det kode du lagde i spørgsmålet jo :)

men ahv's virker nok
Avatar billede tlunde Nybegynder
16. marts 2003 - 18:33 #9
ahv > Det er ud til at virke...takker!
Avatar billede ahv Nybegynder
16. marts 2003 - 18:34 #10
Det var så lidt.
Avatar billede ahv Nybegynder
16. marts 2003 - 18:34 #11
westhi >> mens du er her, bruger du ikke icq eller msn?
Avatar billede Slettet bruger
16. marts 2003 - 18:35 #12
jeg bruger msn... hvorfor?
Avatar billede ahv Nybegynder
16. marts 2003 - 18:38 #13
:o) Ja hvorfor? Så har jeg en at skrive lidt til ind imellem ;)

Ej synes det er rart at snakke lidt med de folk jeg sidder og "debattere" med her på E.
Avatar billede Slettet bruger
16. marts 2003 - 18:39 #14
westhi@hotmail.com :0)

icq har jeg aldrig åbent så det er den du skal bruge :)
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