Avatar billede hmmhelpinghmm Nybegynder
29. juni 2004 - 19:34 Der er 30 kommentarer og
1 løsning

side 1 og 2 osv.?

Nogen der kan hjælpe mig med at gennemskue hvad jeg kan gøre her?

$limit_fra = $side - 1;
$antal = $side + 9;

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

Dette virker jo fint på side 1, da det så bliver 0-10 den viser.
MEn så går det jo galt på side 2, der bliver det jo 1-11. Der skulle det være 10-20, hvad gør jeg?
Avatar billede mixeren Nybegynder
29. juni 2004 - 19:42 #1
Efter du har lavet dit udtræk, lægger du 10 til $limit_fra og overføre den f.eks.via linket til side 2.
$limit_fra = $side - 1; skal du så lige have i en if sætning, så den kun bliver sat hvis den ikke findes.
Avatar billede hmmhelpinghmm Nybegynder
29. juni 2004 - 19:46 #2
det er den samme side! www.bla.dk/bla.php?side=1

JA hvis side ikke findes skift til side 1
Ved det!

Hvis du bare lægger 10 til bliver det!

11-21
12-22
13-23
14-24
osv.
Avatar billede jaw Nybegynder
29. juni 2004 - 19:51 #3
Din $antal skal være fast. Altså hvis du vil have 10 pr side, skal $antal hele tiden være 10.

Så det bliver:
side 1: LIMIT 0, 10
side 2: LIMIT 10, 10
side 3: LIMIT 20,10
etc. etc.
Avatar billede hmmhelpinghmm Nybegynder
29. juni 2004 - 19:54 #4
ok men stadig bliver det jo
11-10
12-10
13-10
14-10
15-10
osv.

Hvordan får jeg det til at blive 0,10,20,30,40 osv.
Avatar billede mixeren Nybegynder
29. juni 2004 - 19:54 #5
jeg plejer at lave noget ala.

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

//MySql udtræk her

$limit_fra=$limit_fra+10;

<a href="saesteside.php?limit_fra=$limit_fra">Næsteside</a>
Avatar billede hmmhelpinghmm Nybegynder
29. juni 2004 - 19:58 #6
det hjælper ikke for det skal KUN være en side, vil ikke lave så mange sider!
Linket skal hedde <a href="?sidetal=2">Næste side</a>
Avatar billede jaw Nybegynder
29. juni 2004 - 19:58 #7
if(!$_POST['limit_fra']) {
$limit_fra = 0;
}

$antal = 10;
$limit_fra = $limit_fra + $antal;

echo"<a href='" . $_SERVER['PHP_SELF'] . "?limit_fra=$limit_fra'>Næsteside</a>";
Avatar billede mixeren Nybegynder
29. juni 2004 - 19:59 #8
Det er jo også det jer gør... det frem gik måske ikke så tydlig... du skallinke til samme side.
Avatar billede hmmhelpinghmm Nybegynder
29. juni 2004 - 20:01 #9
ER linket ikke nok med:
<a href="?limit_fra='$limit_fra'">Næste side</a>

HVad laver den if, hvad betyder ! i den sammenhæng?
Avatar billede hmmhelpinghmm Nybegynder
29. juni 2004 - 20:02 #10
ok i skriver det samme, men jaw har en $_POST med hvorfor det, og stadig hvad betyder !
Avatar billede mixeren Nybegynder
29. juni 2004 - 20:02 #11
Tjekker om limit_fra er sat.
Avatar billede jaw Nybegynder
29. juni 2004 - 20:02 #12
tjoh, det er sådan set nok, men det andet er pænere :)

! betyder "ikke" - altså, if(!$limit_fra) betyder at hvis $limit_fra ikke har nogen værdi...
Avatar billede mixeren Nybegynder
29. juni 2004 - 20:03 #13
Fordi jaw's er kopiklar kode. Mit er skrevet meget hurtig med en hånd.. :-)
Avatar billede jaw Nybegynder
29. juni 2004 - 20:04 #14
$_POST[] skal faktisk være en $_GET[]...! Det var min fejl... Det benyttes i nyere PHP-versioner eller på servere hvor register_globals er OFF. Hvis register_globals er OFF kan du ikke bare hente en ?limit_fra=10 i adresse linien med $limit_fra. Så skal du have $_GET['limit_fra'] - er det fra forms, skal det så være $_POST[]
Avatar billede jaw Nybegynder
29. juni 2004 - 20:04 #15
Hehe, ja kopiklar MED fejl så der er lidt at arbejde med :)
Avatar billede mixeren Nybegynder
29. juni 2004 - 20:05 #16
Og det skal være "get" fordi det kommer fra en url. (det skal være post hvis det kommer fra en formular.)
Avatar billede mixeren Nybegynder
29. juni 2004 - 20:06 #17
Hehe.. ja og jeg fortæller det samme som dig igen..fordi jeg ikke læser det héle du skriver.
Avatar billede hmmhelpinghmm Nybegynder
29. juni 2004 - 20:11 #18
hvad er nu galt, limit_fra er hele tiden = 10
Og kan ikke få vist de næste 10 beskeder:

$side = $_GET[limit_fra];

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

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

$limit_fra = $limit_fra + $antal;

echo"<a href=?limit_fra=$limit_fra>Næsteside</a>";
Avatar billede mixeren Nybegynder
29. juni 2004 - 20:13 #19
if(!$side) {
Skal være:

if(!$limit_fra) {
Avatar billede mixeren Nybegynder
29. juni 2004 - 20:15 #20
Du kan ikke lave limit_fra om til $side... så bruger du den jo ikke...
Avatar billede mixeren Nybegynder
29. juni 2004 - 20:17 #21
Utestet men ølgende burde virke.

$limit_fra = $_GET[limit_fra];

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

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

$limit_fra = $limit_fra + $antal;

echo"<a href=?limit_fra=$limit_fra>Næsteside</a>";
Avatar billede hmmhelpinghmm Nybegynder
29. juni 2004 - 20:17 #22
nu kan jeg da få vist alle efter hvor limit_fra er i linjen, men limit fra stiger stadig ikke! hvis den har været 0, så stiger den til 10, men så næste gang er den stadig 10
Avatar billede hmmhelpinghmm Nybegynder
29. juni 2004 - 20:19 #23
ok nu stiger den, så ikke det sidste inden jeg skrev ovenstående!
HVad med en baglæns, der kan jeg vel lave noget med - 10
Prøv lige!
Avatar billede mixeren Nybegynder
29. juni 2004 - 20:20 #24
Ja samme system, bare husk at overføre begge variabler hver gang.
Avatar billede hmmhelpinghmm Nybegynder
29. juni 2004 - 20:23 #25
jeg gjorde sådan efter den næste
$antal2 = "20";
$limit_fra = $limit_fra - $antal2;

echo"<a href=?limit_fra=$limit_fra>Forrige side</a>";

Ellers blev den jo bare det som siden var fx. 50 , så er næste = 60 men forige = 50
Skulle jo trække 20 fra!

I har begge været ihærdige, Svar begge to!
Avatar billede mixeren Nybegynder
29. juni 2004 - 20:25 #26
Dejligt du fik det til at virke. :-)
Avatar billede hmmhelpinghmm Nybegynder
29. juni 2004 - 20:26 #27
Lige bagefter
Hvordan kan jeg gøre så hvis at der ikke er nogle resultater, at så skifter den til den sidste side med resultater?

resultater = beskeder / mails!
Avatar billede hmmhelpinghmm Nybegynder
29. juni 2004 - 20:27 #28
Hele min fil er her!

<?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");  // <- connecter



$query = mysql_query("SELECT count(*) FROM mail WHERE mailtil = '$ses' ORDER BY id DESC");
$antalbeskeder = mysql_query($query,0,0);


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



$side = $_GET[limit_fra];
$limit_fra = $_GET[limit_fra];

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

$antal = 10;
$antal2 = 20;
$query = mysql_query("SELECT * FROM mail WHERE mailtil = '$ses' ORDER BY id DESC LIMIT $side,$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 == $sidetal ) {
    echo "<b>$sidetal</b>";
  }
  else {
    echo "<a href=ditscript.php?sidetal=".$i.">".$i."</a>";
  }
  }
 
  $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>";


?>
Avatar billede hmmhelpinghmm Nybegynder
29. juni 2004 - 20:41 #29
Nå det finder jeg nok ud af!
Avatar billede mixeren Nybegynder
29. juni 2004 - 21:21 #30
Lav en optælling at antal poster i databasen

$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM.....

Så kan du tjekke om der skal være link.

Noget ala:

if ($antal > $limit_fra+10) {

if ($offset >= 10) {
Avatar billede hmmhelpinghmm Nybegynder
29. juni 2004 - 21:37 #31
Gjorde bare således, og det virkede!

  $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;
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