ugrás a tartalomhoz

lekérdezési eredmények tördelése több kimeneti oldalra

ksanyi · 2006. Nov. 30. (Cs), 11.55
Sziasztok

Az a kérdésem lenne hogyan lehet a lekérdezésben megjelenő eredményeket, sorokat limitálni a megjelenéskor. Azaz hogy pl egyszerre csak 10 találat jelnjen meg a következő 10 már új oldalon, és egy linkre rákattintva (pl. előző, következő) jelenjen meg.
merre kell elinduljak?köszönöm, ksanyi
 
1

Pagination

Török Gábor · 2006. Nov. 30. (Cs), 12.04
A lekérdezésben használd a LIMIT és OFFSET záradékokat, amelyekkel a teljes eredményhalmaz adott szeletét adja vissza a kiszolgáló. Ha esetleg használsz adatbázis réteget, akkor az lehet, hogy ezt még egyszerűbben nyújta számodra, példaképpen nézd meg az AdoDB Pager objektumát.
2

MySQL: LIMIT

Anonymous · 2006. Nov. 30. (Cs), 12.24
Szia!
Kicsit többet is mondhattá volna problémáról.
Gondolom MySQLlel dolgozol. Ott nagy szerencsére van egy LIMIT nevű záradék.
pl
SELECT mezo1, mezo2 FROM soksorostabla LIMIT 10,30
Ez a soksorostabla 10. sorától számított 30 darab sort ír ki.
3

köszi

ksanyi · 2006. Nov. 30. (Cs), 12.43
Így nézz ki a lekérdezés:
  1. <?php  
  2. $ossz = mysql_connect("localhost""""");  
  3. mysql_select_db(""$ossz);  
  4. $sql = "SELECT * FROM tabla";  
  5.   
  6.   
  7. $sql  =  "INSERT INTO tabla values ('',  
  8.     '$_POST[a]'  , '$_POST[b]' , '$_POST[c_a]' , '$_POST[c_b]' , '$_POST[d_a]' , '$_POST[d_b]') ";  
  9.   
  10.   
  11. //végrehajtjuk az utasitast  
  12. $sql= "SELECT * FROM tabla WHERE kategoria = '$_POST[..]' AND terulet = '$_POST[..]'   
  13. AND meret between '$_POST[..]' and '$_POST[..]' AND ar between '$_POST[..]' and '$_POST[..]' ";  
  14.       
  15.   
  16.   
  17. $eredmeny = mysql_query($sql$osszor die(mysql_error());  
  18.   
  19. while ($ujTomb = mysql_fetch_array($eredmeny)) {  
  20. $azonosito = $ujTomb['..'];  
  21. $kategoria = $ujTomb['..'];  
  22. $terulet = $ujTomb['..'];  
  23. $meret = $ujTomb['..'];  
  24. $ar = $ujTomb['..'];  
  25. $leiras = $ujTomb['..'];  
  26.   
  27. echo " mezonevek";  
  28. }  
  29.   
  30. ?>  
ezt szeretném megoldani hogy egy oldalon mondjuk 10 eredmény jelenjen meg a következő 10 már a köv oldalon, és hogy az első oldalról rá tudjak menni a következőre
4

Megoldás előtted

Török Gábor · 2006. Nov. 30. (Cs), 13.01
Sokat segítene, ha téged is ösztönözne, hogy megoldd a problémát. Előző kommentembe linkelt SQL cikkben, valamint az Anonymous által ismertetett példában is szerepel az SQL része a dolognak. Valahogy le kell vágnod adott limit számnál az érkező találatokat. És hogy miként tudod az oldalon a lapozást megoldani, arra remek, egyszerű ötletet adott volna az AdoDB Pager, ha megnézted volna. Vagy ha mindezeket elolvastad, akkor mondd pontosan, hol akadsz el, mi nem világos.
5

köszi

ksanyi · 2006. Nov. 30. (Cs), 13.05
a limitet már megoldottam, az általadi irt példát még most nézem, nem a megoldást vártam