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?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.
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.
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.
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.
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>
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>
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>";
Det er jo også det jer gør... det frem gik måske ikke så tydlig... du skallinke til samme side.
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?
29. juni 2004 - 20:02
#10
ok i skriver det samme, men jaw har en $_POST med hvorfor det, og stadig hvad betyder !
29. juni 2004 - 20:02
#11
Tjekker om limit_fra er sat.
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...
29. juni 2004 - 20:03
#13
Fordi jaw's er kopiklar kode. Mit er skrevet meget hurtig med en hånd.. :-)
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[]
29. juni 2004 - 20:04
#15
Hehe, ja kopiklar MED fejl så der er lidt at arbejde med :)
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.)
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.
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>";
29. juni 2004 - 20:13
#19
if(!$side) { Skal være: if(!$limit_fra) {
29. juni 2004 - 20:15
#20
Du kan ikke lave limit_fra om til $side... så bruger du den jo ikke...
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>";
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
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!
29. juni 2004 - 20:20
#24
Ja samme system, bare husk at overføre begge variabler hver gang.
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!
29. juni 2004 - 20:25
#26
Dejligt du fik det til at virke. :-)
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!
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:  <a href=mail.php?id=".$row[id].">".$row[mailfra]."</a></TD><td width=\"160px\">Emne:  ".$row[emne]."</TD><td width=\"200px\">Dato:  ".$row[dato]."     Kl:  ".$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" "; $limit_fra = $limit_fra + $antal2; echo"<a href=?limit_fra=$limit_fra>Næste side</a>"; ?>
29. juni 2004 - 20:41
#29
Nå det finder jeg nok ud af!
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) {
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;
Vi tilbyder markedets bedste kurser inden for webudvikling