16. marts 2006 - 17:21Der er
21 kommentarer og 1 løsning
denne paging virker ikke med Globals=off
Nogen som kan se hvorfor at nedenstående paging ikke virker når globals er slået fra?
$total = mysql_result($g_total,0); if($total>$pr_side) { if ($total > $s+5){ ## #Find ud af om derskal være et Forrige link ## if ($s >= $pr_side) { //Tjekker om værdien af $s er større eller lig $pr_side $previous_s = $s-$pr_side; //Regner ud hvor mysql skal starte hvis forrige side kaldes echo "<a href='?s=$_GET[previous_s]'><font color=\"#4682B4\">Forrige</font></a> "; //Udskriver linket }
## #Find ud af hvis/hvor mange sider der er rows til ## $page = 1; //Definerer hvor sidetal skal starte for($start=0; $total > $start; $start=$start+$pr_side){ //For-løkke der kører indtil der ikke er nok rows til en side mere if ($start != $s) { //Tjekker om linket vil komme til at pege på den side man er på echo "<a href='?s=$start&search=$_GET[search]&selectName=$_GET[selectName]'><font color=\"#4682B4\">$page</font></a> "; //...hvis ikke, udskrives link med værdien af $page } else { //Ellers, dvs. hvis linket vil pege på den side man er på.. echo "<font color=\"#000000\">$page </font>"; //...udskrives værdien af $page bare, altså ikke som link } $page++; //Lægger en til $page til næste gang løkken køres }
## #Find ud af om der skal være et næste link ## if ($total > $s+$pr_side) { //Tjekker om der er flere sider $next_s = $s+$pr_side; //Regner ud hvor mysql skal starte hvis næste side kaldes echo "<a href='?s=$next_s&search=$_GET[search]&selectName=$_GET[selectName]'><font color=\"#4682B4\">Næste</font></a>"; //Udskriver linket "næste"
$s = (isset($_GET['s']) ? intval($_GET['s']) : 0); // Så er der også input-validering $total = mysql_result($g_total,0); if($total>$pr_side) { if ($total > $s+5){ ## #Find ud af om derskal være et Forrige link ## if ($s >= $pr_side) { //Tjekker om værdien af $s er større eller lig $pr_side $previous_s = $s-$pr_side; //Regner ud hvor mysql skal starte hvis forrige side kaldes echo "<a href='?s=$_GET[previous_s]'><font color=\"#4682B4\">Forrige</font></a> "; //Udskriver linket }
## #Find ud af hvis/hvor mange sider der er rows til ## $page = 1; //Definerer hvor sidetal skal starte for($start=0; $total > $start; $start=$start+$pr_side){ //For-løkke der kører indtil der ikke er nok rows til en side mere if ($start != $s) { //Tjekker om linket vil komme til at pege på den side man er på echo "<a href='?s=$start&search=$_GET[search]&selectName=$_GET[selectName]'><font color=\"#4682B4\">$page</font></a> "; //...hvis ikke, udskrives link med værdien af $page } else { //Ellers, dvs. hvis linket vil pege på den side man er på.. echo "<font color=\"#000000\">$page </font>"; //...udskrives værdien af $page bare, altså ikke som link } $page++; //Lægger en til $page til næste gang løkken køres }
## #Find ud af om der skal være et næste link ## if ($total > $s+$pr_side) { //Tjekker om der er flere sider $next_s = $s+$pr_side; //Regner ud hvor mysql skal starte hvis næste side kaldes echo "<a href='?s=$next_s&search=$_GET[search]&selectName=$_GET[selectName]'><font color=\"#4682B4\">Næste</font></a>"; //Udskriver linket "næste"
Ka sq ikke rigtigt få det til at virke, men måske at det er fordi der er lidt mere kode, som jeg ikke troede havde nogen betydning.. har lige indsat det manglende, så du kan se det hele :)
$pr_side = "20"; //Definerer antal resultater pr. side
if (!isset($s)) { $s = "0"; //Tjekker om $s - som står for start - er sat, hvis ikke sættes den }
if(!isset($_GET['selectName']) || $_GET['selectName']=="") { $g_total = mysql_query("select count(id) as total from salgAfProdukt WHERE produkt LIKE '%".$_GET['search']."%'") or die(mysql_error()); } else { $g_total = mysql_query("select count(id) as total from salgAfProdukt WHERE produkt LIKE '%".$_GET['search']."%' AND salgAfProdukt.postNr BETWEEN LEFT('".$_GET['selectName']."',4) AND RIGHT('".$_GET['selectName']."',4) AND kategori LIKE '%".$_GET['selectKategori']."%'") or die(mysql_error()); } $total = mysql_result($g_total,0); if($total>$pr_side) { if ($total > $s+5){ ## #Find ud af om derskal være et Forrige link ## if ($s >= $pr_side) { //Tjekker om værdien af $s er større eller lig $pr_side $previous_s = $s-$pr_side; //Regner ud hvor mysql skal starte hvis forrige side kaldes echo "<a href='?s=$_GET[previous_s]'><font color=\"#4682B4\">Forrige</font></a> "; //Udskriver linket }
## #Find ud af hvis/hvor mange sider der er rows til ## $page = 1; //Definerer hvor sidetal skal starte for($start=0; $total > $start; $start=$start+$pr_side){ //For-løkke der kører indtil der ikke er nok rows til en side mere if ($start != $s) { //Tjekker om linket vil komme til at pege på den side man er på echo "<a href='?s=$start&search=$_GET[search]&selectName=$_GET[selectName]'><font color=\"#4682B4\">$page</font></a> "; //...hvis ikke, udskrives link med værdien af $page } else { //Ellers, dvs. hvis linket vil pege på den side man er på.. echo "<font color=\"#000000\">$page </font>"; //...udskrives værdien af $page bare, altså ikke som link } $page++; //Lægger en til $page til næste gang løkken køres }
## #Find ud af om der skal være et næste link ## if ($total > $s+$pr_side) { //Tjekker om der er flere sider $next_s = $s+$pr_side; //Regner ud hvor mysql skal starte hvis næste side kaldes echo "<a href='?s=$next_s&search=$_GET[search]&selectName=$_GET[selectName]'><font color=\"#4682B4\">Næste</font></a>"; //Udskriver linket "næste"
YES.. fik det til at virke.. brugte din GET på de der s´er du snakkede om.. Ser det rigtigt ud som jeg har gjort nu? vil bare være sikker :) og smider du ikke et svar så du kan få dine point. takker
$pr_side = "20"; //Definerer antal resultater pr. side
if (!isset($s)) { $s = "0"; //Tjekker om $s - som står for start - er sat, hvis ikke sættes den }
if(!isset($_GET['selectName']) || $_GET['selectName']=="") { $g_total = mysql_query("select count(id) as total from salgAfProdukt WHERE produkt LIKE '%".$_GET['search']."%'") or die(mysql_error()); } else { $g_total = mysql_query("select count(id) as total from salgAfProdukt WHERE produkt LIKE '%".$_GET['search']."%' AND salgAfProdukt.postNr BETWEEN LEFT('".$_GET['selectName']."',4) AND RIGHT('".$_GET['selectName']."',4) AND kategori LIKE '%".$_GET['selectKategori']."%'") or die(mysql_error()); } $total = mysql_result($g_total,0); if($total>$pr_side) { if ($total > $_GET['s']+5){ ## #Find ud af om derskal være et Forrige link ## if ($_GET['s'] >= $pr_side) { //Tjekker om værdien af $s er større eller lig $pr_side $previous_s = $_GET['s']-$pr_side; //Regner ud hvor mysql skal starte hvis forrige side kaldes echo "<a href='?s=$_GET[previous_s]'><font color=\"#4682B4\">Forrige</font></a> "; //Udskriver linket }
## #Find ud af hvis/hvor mange sider der er rows til ## $page = 1; //Definerer hvor sidetal skal starte for($start=0; $total > $start; $start=$start+$pr_side){ //For-løkke der kører indtil der ikke er nok rows til en side mere if ($start != $_GET['s']) { //Tjekker om linket vil komme til at pege på den side man er på echo "<a href='?s=$start&search=$_GET[search]&selectName=$_GET[selectName]'><font color=\"#4682B4\">$page</font></a> "; //...hvis ikke, udskrives link med værdien af $page } else { //Ellers, dvs. hvis linket vil pege på den side man er på.. echo "<font color=\"#000000\">$page </font>"; //...udskrives værdien af $page bare, altså ikke som link } $page++; //Lægger en til $page til næste gang løkken køres }
## #Find ud af om der skal være et næste link ## if ($total > $_GET['s']+$pr_side) { //Tjekker om der er flere sider $next_s = $_GET['s']+$pr_side; //Regner ud hvor mysql skal starte hvis næste side kaldes echo "<a href='?s=$next_s&search=$_GET[search]&selectName=$_GET[selectName]'><font color=\"#4682B4\">Næste</font></a>"; //Udskriver linket "næste"
hmmmm. kan det passe at der er noget galt med koden.. får nå man går tilbage til side 1 i pagingen, viser den blidselig alle igen.. hvis man fx har søgt på alle annoncer som indeholder et "a".. så skulle den gerne kunne huske dem selv om man går tilbage til 1 side:(
Det ser nu ud som nedenstående.. kan du se hvilke variabler som skal ændres til GET? for jeg kan ikke..
$pr_side = "20"; //Definerer antal resultater pr. side
if (!isset($s)) { $s = "0"; //Tjekker om $s - som står for start - er sat, hvis ikke sættes den }
if(!isset($_GET['selectName']) || $_GET['selectName']=="") { $g_total = mysql_query("select count(id) as total from salgAfProdukt WHERE produkt LIKE '%".$_GET['search']."%'") or die(mysql_error()); } else { $g_total = mysql_query("select count(id) as total from salgAfProdukt WHERE produkt LIKE '%".$_GET['search']."%' AND salgAfProdukt.postNr BETWEEN LEFT('".$_GET['selectName']."',4) AND RIGHT('".$_GET['selectName']."',4) AND kategori LIKE '%".$_GET['selectKategori']."%'") or die(mysql_error()); } $total = mysql_result($g_total,0); if($total>$pr_side) { if ($total > $_GET['s']+5){ ## #Find ud af om derskal være et Forrige link ## if ($_GET['s'] >= $pr_side) { //Tjekker om værdien af $s er større eller lig $pr_side $previous_s = $_GET['s']-$pr_side; //Regner ud hvor mysql skal starte hvis forrige side kaldes echo "<a href='?s=$_GET[previous_s]'><font color=\"#4682B4\">Forrige</font></a> "; //Udskriver linket }
## #Find ud af hvis/hvor mange sider der er rows til ## $page = 1; //Definerer hvor sidetal skal starte for($start=0; $total > $start; $start=$start+$pr_side){ //For-løkke der kører indtil der ikke er nok rows til en side mere if ($start != $_GET['s']) { //Tjekker om linket vil komme til at pege på den side man er på echo "<a href='?s=$start&search=$_GET[search]&selectName=$_GET[selectName]'><font color=\"#4682B4\">$page</font></a> "; //...hvis ikke, udskrives link med værdien af $page } else { //Ellers, dvs. hvis linket vil pege på den side man er på.. echo "<font color=\"#000000\">$page </font>"; //...udskrives værdien af $page bare, altså ikke som link } $page++; //Lægger en til $page til næste gang løkken køres }
## #Find ud af om der skal være et næste link ## if ($total > $_GET['s']+$pr_side) { //Tjekker om der er flere sider $next_s = $_GET['s']+$pr_side; //Regner ud hvor mysql skal starte hvis næste side kaldes echo "<a href='?s=$next_s&search=$_GET[search]&selectName=$_GET[selectName]'><font color=\"#4682B4\">Næste</font></a>"; //Udskriver linket "næste"
Fuck hvor er det noller.. skal jeg ikke prøve at indsætte min oprindelige pagingkode her? vil det hjælpe? så kan du se udgangspunktet, og det er måske nemmere at gå ud fra i stedet for alt det jeg har rodet rundt:)
Jeg har paging to steder på min side.. øverst og nederst.. jeg laver en linie der hvor første paging slutter og den næste starter.. :) har sat pointsene op til 200 nu :) håber at det hjælper lidt på det.. det er sku ikke nemt:(
$pr_side = "20"; //Definerer antal resultater pr. side
if (!isset($s)) { $s = "0"; //Tjekker om $s - som står for start - er sat, hvis ikke sættes den }
if(!isset($_GET['selectName']) || $_GET['selectName']=="") { $g_total = mysql_query("select count(id) as total from salgAfProdukt WHERE produkt LIKE '%".$_GET['search']."%'") or die(mysql_error()); } else { $g_total = mysql_query("select count(id) as total from salgAfProdukt WHERE produkt LIKE '%".$_GET['search']."%' AND salgAfProdukt.postNr BETWEEN LEFT('".$_GET['selectName']."',4) AND RIGHT('".$_GET['selectName']."',4) AND kategori LIKE '%".$_GET['selectKategori']."%'") or die(mysql_error()); } $total = mysql_result($g_total,0); if($total>$pr_side) { if ($total > $_GET['s']+5){ ## #Find ud af om derskal være et Forrige link ## if ($_GET['s'] >= $pr_side) { //Tjekker om værdien af $s er større eller lig $pr_side $previous_s = $_GET['s']-$pr_side; //Regner ud hvor mysql skal starte hvis forrige side kaldes echo "<a href='?s=$_GET[previous_s]'><font color=\"#4682B4\">Forrige</font></a> "; //Udskriver linket }
## #Find ud af hvis/hvor mange sider der er rows til ## $page = 1; //Definerer hvor sidetal skal starte for($start=0; $total > $start; $start=$start+$pr_side){ //For-løkke der kører indtil der ikke er nok rows til en side mere if ($start != $_GET['s']) { //Tjekker om linket vil komme til at pege på den side man er på echo "<a href='?s=$start&search=$_GET[search]&selectName=$_GET[selectName]'><font color=\"#4682B4\">$page</font></a> "; //...hvis ikke, udskrives link med værdien af $page } else { //Ellers, dvs. hvis linket vil pege på den side man er på.. echo "<font color=\"#000000\">$page </font>"; //...udskrives værdien af $page bare, altså ikke som link } $page++; //Lægger en til $page til næste gang løkken køres }
## #Find ud af om der skal være et næste link ## if ($total > $_GET['s']+$pr_side) { //Tjekker om der er flere sider $next_s = $_GET['s']+$pr_side; //Regner ud hvor mysql skal starte hvis næste side kaldes echo "<a href='?s=$next_s&search=$_GET[search]&selectName=$_GET[selectName]'><font color=\"#4682B4\">Næste</font></a>"; //Udskriver linket "næste"
## #Find ud af om derskal være et Forrige link ## if ($_GET['s'] >= $pr_side) { //Tjekker om værdien af $s er større eller lig $pr_side $previous_s = $_GET['s']-$pr_side; //Regner ud hvor mysql skal starte hvis forrige side kaldes echo "<a href='?s=$_GET[previous_s]'><font color=\"#4682B4\">Forrige</font></a> "; //Udskriver linket }
## #Find ud af hvis/hvor mange sider der er rows til ## $page = 1; //Definerer hvor sidetal skal starte for($start=0; $total > $start; $start=$start+$pr_side){ //For-løkke der kører indtil der ikke er nok rows til en side mere if ($start != $_GET['s']) { //Tjekker om linket vil komme til at pege på den side man er på echo "<a href='?s=$start&search=$_GET[search]&selectName=$_GET[selectName]'><font color=\"#4682B4\">$page</font></a> "; //...hvis ikke, udskrives link med værdien af $page } else { //Ellers, dvs. hvis linket vil pege på den side man er på.. echo "<font color=\"#000000\">$page </font>"; //...udskrives værdien af $page bare, altså ikke som link } $page++; //Lægger en til $page til næste gang løkken køres }
## #Find ud af om der skal være et næste link ## if ($total > $_GET['s']+$pr_side) { //Tjekker om der er flere sider $next_s = $_GET['s']+$pr_side; //Regner ud hvor mysql skal starte hvis næste side kaldes echo "<a href='?s=$next_s&search=$_GET[search]&selectName=$_GET[selectName]'><font color=\"#4682B4\">Næste</font></a>"; //Udskriver linket "næste"
#Find ud af om derskal være et Forrige link ## if ($_GET['s'] >= $pr_side) { //Tjekker om værdien af $s er større eller lig $pr_side $previous_s = $_GET['s']-$pr_side; //Regner ud hvor mysql skal starte hvis forrige side kaldes echo "<a href='?s=$_GET[previous_s]'><font color=\"#4682B4\">Forrige</font></a> "; //Udskriver linket }
->
#Find ud af om derskal være et Forrige link ## if ($_GET['s'] >= $pr_side) { //Tjekker om værdien af $s er større eller lig $pr_side $previous_s = $_GET['s']-$pr_side; //Regner ud hvor mysql skal starte hvis forrige side kaldes echo "<a href='?s=$_GET[previous_s]&search=$_GET[search]&selectName=$_GET[selectName]'><font color=\"#4682B4\">Forrige</font></a> "; //Udskriver linket }
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.