Avatar billede ra__mus Nybegynder
13. maj 2005 - 14:08 Der er 3 kommentarer og
1 løsning

lave links til følgende sider

Hej.
Jeg har en side hvor jeg læser poster fra en database og vil gerne have eks. 30 poster pr. side, hvor der så skal være et link i bunden til flere sider, hvis der er mere end 30 poster.
Linket skal helst være sådan at der står eks. 1 2 3 4  hvis der er så mange sider med poster. Er der nogle der ligger inde med et script eller ved hvordan set kan gøres ?
Avatar billede cmau Nybegynder
13. maj 2005 - 14:20 #1
<div align="center">

<table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="100%" style="border-style: outset; border-width: 1px; border-color: #000000" height="20" bgcolor="#84BDFF" align="center"><p>Nyheder</p></td>

</tr>

</table>

</div>

&nbsp;<br>

<?

$visfra = (isset($_GET["visfra"])) ? $_GET["visfra"] : 0;
$prside = 10;

$query = mysql_query("SELECT * FROM woox_nyheder ORDER BY id DESC LIMIT $visfra, $prside") or die(mysql_error());

$i = 0;

while ($row = mysql_fetch_array($query)) {

$i++;

if($i%2 == 0) {
$align = "left";
} else {
$align = "right";
}

$data = $row[nyhed];

include('funktion_tekst.php');

echo empty($row[billede]) ? '' : '<img border="0" src="images/nyhed/'.$row[billede].'" width="130" align="'.$align.'" alt="Wild thing!">';

echo '<b><a href="main.php?side=kommentar&amp;id='.$row[id].'">'.$row[overskrift].'</a></b>';

echo '<p>'.$data.'<p>Skrevet af: <b>';


$bruger = mysql_query("SELECT * FROM woox_brugere WHERE brugernavn = '$row[bruger]'") or die(mysql_error());

$bruger = mysql_fetch_array($bruger);

echo '<a href="main.php?side=profil&amp;id='.$bruger[id].'"><font color="'.$bruger[fontcolor].'">'.$row[bruger].'</font></a>';


echo '</b> - '.$row[dato].'<br>Kommentare: <b>'.mysql_result(mysql_query("SELECT COUNT(*) FROM woox_kommentare WHERE nyhedsid = '$row[id]'"),0).'</b>';

echo empty($row[kilde]) ? '' : '<br>Kilde: <b>'.$row[kilde].'</b>';

echo '<hr size="1"><p>';
}

echo '<p align="center">';

$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM woox_nyheder"),0);

if ($visfra > 0) {
    $bagud = $visfra-$prside;
    echo "<a href=\"main.php?visfra=".$bagud."\">Forrige</a> ";
}

$page = 1;
for ($start = 0; $antal > $start; $start = $start + $prside) {
    if($visfra != $page * $prside - $prside) {
        echo "<a href=\"main.php?visfra=".$start."\">".$page."</a> ";
    } else {
        echo "<b>[$page]</b> ";
    }
    $page++;
}

if ($visfra < $antal - $prside) {
    $naeste = $visfra + $prside;
    echo " <a href=\"main.php?visfra=".$naeste."\">Næste</a>";
}

?><br>&nbsp;
Avatar billede cmau Nybegynder
13. maj 2005 - 14:23 #2
I en lidt kortere udgave:

<?

$visfra = (isset($_GET["visfra"])) ? $_GET["visfra"] : 0;
$prside = 10;

$query = mysql_query("SELECT * FROM woox_nyheder ORDER BY id DESC LIMIT $visfra, $prside") or die(mysql_error());

while ($row = mysql_fetch_array($query)) {

echo '<p>'.$row[nyhed].'<p>';
}

echo '<p align="center">';

$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM woox_nyheder"),0);

if ($visfra > 0) {
    $bagud = $visfra-$prside;
    echo "<a href=\"main.php?visfra=".$bagud."\">Forrige</a> ";
}

$page = 1;
for ($start = 0; $antal > $start; $start = $start + $prside) {
    if($visfra != $page * $prside - $prside) {
        echo "<a href=\"main.php?visfra=".$start."\">".$page."</a> ";
    } else {
        echo "<b>[$page]</b> ";
    }
    $page++;
}

if ($visfra < $antal - $prside) {
    $naeste = $visfra + $prside;
    echo " <a href=\"main.php?visfra=".$naeste."\">Næste</a>";
}

?>
Avatar billede ra__mus Nybegynder
13. maj 2005 - 15:03 #3
prøver det lige :-)
Avatar billede ra__mus Nybegynder
13. maj 2005 - 15:16 #4
Det virker jo fint !
Kunne dog godt tænke mig at der i tilfælde af at der er mange poster, at ikke alle sidenummerne vises på en gang men måske bare 20 ad gangen, og de efterfølgende sider skal så dukke op når man klikker sig fremad i numrene, hvis du forstår..
Kan du lave det :-) ?
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