Avatar billede rampagezz Nybegynder
26. oktober 2008 - 01:33 Der er 9 kommentarer og
1 løsning

forrige og næste link

Er der en som kan hjælpe med at koble et "forrige" og "næste" link på dette script?


<?php

if( isset($_GET['side']) ){
  $side = intval($_GET['side']);
}else{
  $side = 1;
}

$start=($side-1)*8;

$person = mysql_query("SELECT * FROM pokaler WHERE medlem LIKE '%$brugernavn%' LIMIT $start,8 ");


print "<table width='350' border='0' cellpadding='0' cellspacing='0' class='tur_detalje' align='center'><tr>";

$i=0;
while($personen = mysql_fetch_array( $person )) {
    $i++;
    if ($personen[pokal]==""){
        $personen[pokal]="&nbsp;";
    }
    if ($personen[medlem]==""){
        $personen[medlem]="&nbsp;";
    }
    if ($personen[dato]==""){
        $personen[dato]="&nbsp;";
    }
    if ($personen[plads]==""){
        $personen[plads]="&nbsp;";
    }
    print "<td>
            <table align='center'>
                <tr>
                    <td height='20'></td>
                </tr>
                <tr>
                    <td class='menudato'>$personen[dato]</td>
                </tr>
                <tr>
                    <td align='center'><img src='../jpg/$personen[pokal]' width='54' height='78'></td>
                </tr>
                <tr>
                    <td class='brodtekst'>$personen[plads]. Præmie</td>
                </tr>
            </table>
            </td>";

    if( ($i)%4 == 0 ) {
        if($i == 8 ) {// sidste række, der kommer ikke flere
            print "</tr>";
        } else {// afslut nuværende række, forsæt med næste
            print "</tr><tr>";
        }
    }
}
   
if( $i != 8 ) {
print "</tr>";
}
print "</table>";

?>

Mvh. Kenneth
Avatar billede phpcoder Nybegynder
26. oktober 2008 - 01:54 #1
Utestet:

<?php

if( isset($_GET['side']) ){
  $side = intval($_GET['side']);
}else{
  $side = 1;
}


$rowsPerPage = 8;
$start=($side-1)*$rowsPerPage;

$numRows = mysql_query("SELECT * FROM pokaler WHERE medlem LIKE '%$brugernavn%'");

$person = mysql_query("SELECT * FROM pokaler WHERE medlem LIKE '%$brugernavn%' LIMIT $start,8 ");


print "<table width='350' border='0' cellpadding='0' cellspacing='0' class='tur_detalje' align='center'><tr>";

$i=0;
while($personen = mysql_fetch_array( $person )) {
    $i++;
    if ($personen[pokal]==""){
        $personen[pokal]="&nbsp;";
    }
    if ($personen[medlem]==""){
        $personen[medlem]="&nbsp;";
    }
    if ($personen[dato]==""){
        $personen[dato]="&nbsp;";
    }
    if ($personen[plads]==""){
        $personen[plads]="&nbsp;";
    }
    print "<td>
            <table align='center'>
                <tr>
                    <td height='20'></td>
                </tr>
                <tr>
                    <td class='menudato'>$personen[dato]</td>
                </tr>
                <tr>
                    <td align='center'><img src='../jpg/$personen[pokal]' width='54' height='78'></td>
                </tr>
                <tr>
                    <td class='brodtekst'>$personen[plads]. Præmie</td>
                </tr>
            </table>
            </td>";

    if( ($i)%4 == 0 ) {
        if($i == 8 ) {// sidste række, der kommer ikke flere
            print "</tr>";
        } else {// afslut nuværende række, forsæt med næste
            print "</tr><tr>";
        }
    }
}
   
if( $i != 8 ) {
print "</tr>";
}
print "</table>";


$maxPage = ceil($numRows/$rowsPerPage);

$self = $_SERVER['PHP_SELF'];
$nav  = '';

for($page = 1; $page <= $maxPage; $page++)
{
    if ($page == $pageNum)
    {
        $nav .= " $page ";
    } else {
        $nav .= " <a href=\"$self?com=guestbook&page=$page\">$page</a> ";
    }
}

if ($pageNum > 1)
{
    $page  = $pageNum - 1;
    $prev  = " <a href=\"$self?side=$page\">[Forrige]</a> ";
    $first = " <a href=\"$self?side=1\">[Første]</a> ";
} else {
    $prev  = '&nbsp;';
    $first = '&nbsp;';
}

if ($pageNum < $maxPage)
{
    $page = $pageNum + 1;
    $next = " <a href=\"$self?side=$page\">[Næste]</a> ";
    $last = " <a href=\"$self?side=$maxPage\">[Sidste]</a> ";
} else {
    $next = '&nbsp;';
    $last = '&nbsp;';
}

echo '<p align="center">'.$first . $prev . $nav . $next . $last.'</p>';

?>
Avatar billede phpcoder Nybegynder
26. oktober 2008 - 01:55 #2
Prøver lige igen:

<?php

if( isset($_GET['side']) ){
  $side = intval($_GET['side']);
}else{
  $side = 1;
}


$rowsPerPage = 8;
$start=($side-1)*$rowsPerPage;

$numRows = mysql_query("SELECT COUNT(*) FROM pokaler WHERE medlem LIKE '%$brugernavn%'");

$person = mysql_query("SELECT * FROM pokaler WHERE medlem LIKE '%$brugernavn%' LIMIT $start,8 ");


print "<table width='350' border='0' cellpadding='0' cellspacing='0' class='tur_detalje' align='center'><tr>";

$i=0;
while($personen = mysql_fetch_array( $person )) {
    $i++;
    if ($personen[pokal]==""){
        $personen[pokal]="&nbsp;";
    }
    if ($personen[medlem]==""){
        $personen[medlem]="&nbsp;";
    }
    if ($personen[dato]==""){
        $personen[dato]="&nbsp;";
    }
    if ($personen[plads]==""){
        $personen[plads]="&nbsp;";
    }
    print "<td>
            <table align='center'>
                <tr>
                    <td height='20'></td>
                </tr>
                <tr>
                    <td class='menudato'>$personen[dato]</td>
                </tr>
                <tr>
                    <td align='center'><img src='../jpg/$personen[pokal]' width='54' height='78'></td>
                </tr>
                <tr>
                    <td class='brodtekst'>$personen[plads]. Præmie</td>
                </tr>
            </table>
            </td>";

    if( ($i)%4 == 0 ) {
        if($i == 8 ) {// sidste række, der kommer ikke flere
            print "</tr>";
        } else {// afslut nuværende række, forsæt med næste
            print "</tr><tr>";
        }
    }
}
   
if( $i != 8 ) {
print "</tr>";
}
print "</table>";


$maxPage = ceil($numRows/$rowsPerPage);

$self = $_SERVER['PHP_SELF'];
$nav  = '';

for($page = 1; $page <= $maxPage; $page++)
{
    if ($page == $pageNum)
    {
        $nav .= " $page ";
    } else {
        $nav .= " <a href=\"$self?com=guestbook&page=$page\">$page</a> ";
    }
}

if ($pageNum > 1)
{
    $page  = $pageNum - 1;
    $prev  = " <a href=\"$self?side=$page\">[Forrige]</a> ";
    $first = " <a href=\"$self?side=1\">[Første]</a> ";
} else {
    $prev  = '&nbsp;';
    $first = '&nbsp;';
}

if ($pageNum < $maxPage)
{
    $page = $pageNum + 1;
    $next = " <a href=\"$self?side=$page\">[Næste]</a> ";
    $last = " <a href=\"$self?side=$maxPage\">[Sidste]</a> ";
} else {
    $next = '&nbsp;';
    $last = '&nbsp;';
}

echo '<p align="center">'.$first . $prev . $nav . $next . $last.'</p>';




?>
Avatar billede phpcoder Nybegynder
26. oktober 2008 - 01:59 #3
Linket skal lige rettes også:

$nav .= " <a href=\"$self?com=guestbook&page=$page\">$page</a> ";

til:

$nav .= " <a href=\"$self?side=$page\">$page</a> ";


Så skulle den være der?
Avatar billede rampagezz Nybegynder
26. oktober 2008 - 20:19 #4
Den viser "næste" og "sidste" link på den første side som den skal, men når man klikker på dem, viser den ikke de næste records. Den viser de samme igen.?
Avatar billede phpcoder Nybegynder
26. oktober 2008 - 21:59 #5
Hvad med nu?

Ellers må jeg afprøve koden :)

<?php

if( isset($_GET['side']) ){
  $side = intval($_GET['side']);
}else{
  $side = 1;
}


$rowsPerPage = 8;
$start=($side-1)*$rowsPerPage;

$person = mysql_query("SELECT * FROM pokaler WHERE medlem LIKE '%$brugernavn%' LIMIT $start,8 ");

$numRows = mysql_num_rows($person);

print "<table width='350' border='0' cellpadding='0' cellspacing='0' class='tur_detalje' align='center'><tr>";

$i=0;
while($personen = mysql_fetch_array( $person )) {
    $i++;
    if ($personen[pokal]==""){
        $personen[pokal]="&nbsp;";
    }
    if ($personen[medlem]==""){
        $personen[medlem]="&nbsp;";
    }
    if ($personen[dato]==""){
        $personen[dato]="&nbsp;";
    }
    if ($personen[plads]==""){
        $personen[plads]="&nbsp;";
    }
    print "<td>
            <table align='center'>
                <tr>
                    <td height='20'></td>
                </tr>
                <tr>
                    <td class='menudato'>$personen[dato]</td>
                </tr>
                <tr>
                    <td align='center'><img src='../jpg/$personen[pokal]' width='54' height='78'></td>
                </tr>
                <tr>
                    <td class='brodtekst'>$personen[plads]. Præmie</td>
                </tr>
            </table>
            </td>";

    if( ($i)%4 == 0 ) {
        if($i == 8 ) {// sidste række, der kommer ikke flere
            print "</tr>";
        } else {// afslut nuværende række, forsæt med næste
            print "</tr><tr>";
        }
    }
}
   
if( $i != 8 ) {
print "</tr>";
}
print "</table>";


$maxPage = ceil($numRows/$rowsPerPage);

$self = $_SERVER['PHP_SELF'];
$nav  = '';

for($page = 1; $page <= $maxPage; $page++)
{
    if ($page == $pageNum)
    {
        $nav .= " $page ";
    } else {
        $nav .= " <a href=\"$self?side=$page\">$page</a> ";
    }
}

if ($pageNum > 1)
{
    $page  = $pageNum - 1;
    $prev  = " <a href=\"$self?side=$page\">[Forrige]</a> ";
    $first = " <a href=\"$self?side=1\">[Første]</a> ";
} else {
    $prev  = '&nbsp;';
    $first = '&nbsp;';
}

if ($pageNum < $maxPage)
{
    $page = $pageNum + 1;
    $next = " <a href=\"$self?side=$page\">[Næste]</a> ";
    $last = " <a href=\"$self?side=$maxPage\">[Sidste]</a> ";
} else {
    $next = '&nbsp;';
    $last = '&nbsp;';
}

echo '<p align="center">'.$first . $prev . $nav . $next . $last.'</p>';

?>
Avatar billede rampagezz Nybegynder
27. oktober 2008 - 20:32 #6
Den vil stadig ikke skifte til de næste records. :-(
Avatar billede rampagezz Nybegynder
28. oktober 2008 - 21:46 #7
Hvis du har mod på at teste det, hvordan vil det så være nemmest. Skal jeg poste hele scriptet?
Avatar billede phpcoder Nybegynder
30. oktober 2008 - 16:52 #8
Jeg ville gerne lave koden for dig, men jeg har desværre travlt med mine egne projekter, hvor der er deadline på.

Jeg har fundet dette script, der indeholder dét du søger. Vejledningen er meget detaljeret, så det burde være overkommeligt.

http://www.php-mysql-tutorial.com/php-mysql-paging.php
Avatar billede rampagezz Nybegynder
11. november 2008 - 17:49 #9
Har fundet ud af det. :-)
Avatar billede phpcoder Nybegynder
11. november 2008 - 19:52 #10
Det var godt..

Selv tak for hjælpen :)
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