Avatar billede hmmhelpinghmm Nybegynder
29. juni 2004 - 21:42 Der er 9 kommentarer og
1 løsning

Næste, Forrige, side 1,2,3 osv.?

JEg bruger dette til mit mailsystem som også funger fint, bortset fra tallene der bliver indsat med
1,2,3,4,5,6,7,8,9,10,11
osv.

Når disse indsættes så vil den have, at i stedet for at gå til siden ?limit_fra=10, så vil den til ?limit_fra=1, hvis det var nummer et man valgte. Det lyder vidst lidt indviklet men håber i forstår mig! Hvordan får jeg den række med tal til at blive ved med at hedde 1,2,3,4,5, osv.
men linke til 10, 20, 30, 40, 50, osv.

Her er hele koden
Og under den det område af den problemet ligger i:

<?php
session_start();
include("sider.php");
$ses = $_SESSION['navn'];
$sess = $_SESSION['status'];

echo "<P align=center><FONT face=InkPotFitCaps size=6>Indbakke</font></p>";
include("menu.php");
echo "<hr>";

include("xxxxxx.php");



$query = mysql_query("SELECT * FROM mail WHERE mailtil = '$ses' ORDER BY id DESC");
$antal = 10;
$antalbeskeder = mysql_num_rows($query);
echo "Du har ialt <b>$antalbeskeder</b> mails!";


$antalsider = ceil($antalbeskeder / $antal);

$limit_fra = $_GET[limit_fra];

if(!$limit_fra) {
$limit_fra = 0;
}



$antal2 = 20;
$query = mysql_query("SELECT * FROM mail WHERE mailtil = '$ses' ORDER BY id DESC LIMIT $limit_fra,$antal");



echo "<table border=0>";

if ( $sess != 'login' ) {
    print(" <script language='javascript'>
        location.href='login.php';
        </script>");
        }

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

if ( $row['slettil'] == 'ja' ) {
}else{

echo "<tr><td width=\"160px\">Fra:&nbsp&nbsp<a href=mail.php?id=".$row[id].">".$row[mailfra]."</a></TD><td width=\"160px\">Emne:&nbsp&nbsp".$row[emne]."</TD><td width=\"200px\">Dato:&nbsp&nbsp".$row[dato]."&nbsp&nbsp&nbsp&nbsp&nbspKl:&nbsp&nbsp".$row[tid]."</td></TR>";

}
}
echo "</TABLE>";




for($i=1;$i<=$antalsider;$i++) {


  if( $i == $limit_fra ) {
    echo "<b>$limit_fra</b>";
  }
  else {

    echo "<a href=?limit_fra=".$i.">".$i."</a>";
  }
  }

  $antalsider = $antalsider * 10 - 10;
  if( $limit_fra > $antalsider ) {
  print(" <script language='javascript'>
        location.href='?limit_fra=$antalsider';
        </script>");
        }
  if( $limit_fra < 0 ) {
    print(" <script language='javascript'>
        location.href='vis2.php';
        </script>");
        }
       
  $limit_fra = $limit_fra - $antal;

echo"<a href=?limit_fra=$limit_fra>Forrige side</a>";
echo"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
  $limit_fra = $limit_fra + $antal2;


echo"<a href=?limit_fra=$limit_fra>Næste side</a>";


?>


------------------------DET "DEFEKTE" OMRÅDE--------------

for($i=1;$i<=$antalsider;$i++) {


  if( $i == $limit_fra ) {
    echo "<b>$limit_fra</b>";
  }
  else {

    echo "<a href=?limit_fra=".$i.">".$i."</a>";
  }
  }

  $antalsider = $antalsider * 10 - 10;
  if( $limit_fra > $antalsider ) {
  print(" <script language='javascript'>
        location.href='?limit_fra=$antalsider';
        </script>");
        }
  if( $limit_fra < 0 ) {
    print(" <script language='javascript'>
        location.href='vis2.php';
        </script>");
        }
       
  $limit_fra = $limit_fra - $antal;

echo"<a href=?limit_fra=$limit_fra>Forrige side</a>";
echo"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
  $limit_fra = $limit_fra + $antal2;


echo"<a href=?limit_fra=$limit_fra>Næste side</a>";



HÅBER I KAN HJÆLPE
Avatar billede cautoo Nybegynder
29. juni 2004 - 21:47 #1
altså forstår jeg det rigtigt... du vil linke til
limit=1 som så viser fra 1-10, limit=2 er så 11-20 osv.?

Tjae... det kunne sige $limit*$antalprside
men det synes jeg allerede du har gjort?
Avatar billede hmmhelpinghmm Nybegynder
29. juni 2004 - 21:50 #2
nej den skal linke til =10 som viser 0-9
Og til =20 som viser 10-19
osv. Men den linker til =1 som viser 1-10
og til =2 som viser 2-11
Avatar billede cautoo Nybegynder
29. juni 2004 - 21:56 #3
så vidt jeg husker så kan man angive limit som
LIMIT STARTNUMMER, ANTALPRSIDE
derfor må man kunne gøre således:
LIMIT (SENDTTAL-ANTALPRSIDE), ANTALPRSIDE
Avatar billede hmmhelpinghmm Nybegynder
29. juni 2004 - 22:03 #4
ja det virker også, men..., åhh
prøv at logge ind så kan du se hvad jeg mener
www.friendscommunity.1go.dk/indexm.php
bruger: test
pass: test

når du er logget ind, så står der vis.php til sdst, det ændrer du lige til vis2.php
Så kommer du derind.
Næste og forrige virker fint hvis du prøver, men prøv så at bruge tallene, hold øje med forskellen på at bruge næste og på at trykke på side 2 i adresselinjen!
Avatar billede cautoo Nybegynder
29. juni 2004 - 22:08 #5
Tjae, altså hvis du skal bruge det princip kræver det selvfølgelig også at din talbar går i 10 tabellen, og du ikke bare laver tal++; men laver tal= tal + 10;
Avatar billede hmmhelpinghmm Nybegynder
29. juni 2004 - 22:14 #6
skal jeg skrive for($i=1;$i<=$antalsider;$i + 10)?

Så går den helt amok og skriver en uendelig bane af 1 taller
Avatar billede cautoo Nybegynder
29. juni 2004 - 22:17 #7
lav en alm. løkke og så udskriv:
$i*10 til at udskrive
... det er jo godtnok en lidt mystisk måde at gøre det på...
Avatar billede hmmhelpinghmm Nybegynder
29. juni 2004 - 22:19 #8
Hvordan laver jeg løkken med dette?
for($i=1;$i<=$antalsider;$i++) {


  if( $i == $limit_fra ) {
    echo "<b>$limit_fra</b>";
  }
  else {

    echo "<a href=?limit_fra=".$i.">".$i."</a>&nbsp;";
  }
  }
Avatar billede hmmhelpinghmm Nybegynder
29. juni 2004 - 22:33 #9
stiller andet spørgsmål
Avatar billede hmmhelpinghmm Nybegynder
29. juni 2004 - 23:28 #10
JEg fik det til at virker således:

<?php
session_start();
include("sider.php");
$ses = $_SESSION['navn'];
$sess = $_SESSION['status'];

echo "<P align=center><FONT face=InkPotFitCaps size=6>Indbakke</font></p>";
include("menu.php");
echo "<hr>";

include("xxxxxx.php");



$query = mysql_query("SELECT * FROM mail WHERE mailtil = '$ses' AND slettil = 'nej'");
$antal = 10;
$antalbeskeder = mysql_num_rows($query);
echo "Du har ialt <b>$antalbeskeder</b> mails!";


$antalsider = ceil($antalbeskeder / $antal);
$limit_fra = $_GET[limit_fra];


if(!$limit_fra) {
$limit_fra = 1;
}
$limit_fra = $limit_fra * 10 - 10;


$antal2 = 20;
$query = mysql_query("SELECT * FROM mail WHERE mailtil = '$ses' AND slettil = 'nej' ORDER BY id DESC LIMIT $limit_fra,$antal");



echo "<table border=0>";

if ( $sess != 'login' ) {
    print(" <script language='javascript'>
        location.href='login.php';
        </script>");
        }

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

if ( $row['slettil'] == 'ja' ) {
}else{

echo "<tr><td width=\"160px\">Fra:&nbsp&nbsp<a href=mail.php?id=".$row[id].">".$row[mailfra]."</a></TD><td width=\"160px\">Emne:&nbsp&nbsp".$row[emne]."</TD><td width=\"200px\">Dato:&nbsp&nbsp".$row[dato]."&nbsp&nbsp&nbsp&nbsp&nbspKl:&nbsp&nbsp".$row[tid]."</td></TR>";

}
}
echo "</TABLE>";


$limit_fra = $limit_fra / 10 + 1;

for($i=1;$i<=$antalsider;$i++) {


  if( $i == $limit_fra ) {
    echo "<b>$limit_fra</b>";
  }
  else {
    echo "<a href=?limit_fra=".$i.">".$i."</a>&nbsp;";
  }
  }
  if( $limit_fra > $antalsider && $antalsider != 0 ) {
  print(" <script language='javascript'>
        location.href='?limit_fra=$antalsider';
        </script>");
        }
       
  if( $limit_fra < 0 ) {
    print(" <script language='javascript'>
        location.href='vis.php';
        </script>");
        }
 
if ( $antalsider == 0 | $antalsider == 1 ) {
}else{
$limit_fra = $limit_fra - 1;
echo"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
echo"<a href=?limit_fra=$limit_fra>Forrige side</a>";
echo"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";

$limit_fra = $limit_fra + 2;

echo"<a href=?limit_fra=$limit_fra>Næste side</a>";
}

?>
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