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:

<?php
$ossz = mysql_connect("localhost", "", "");
mysql_select_db("", $ossz);
$sql = "SELECT * FROM tabla";


$sql  =  "INSERT INTO tabla values ('',
	'$_POST[a]'  , '$_POST[b]' , '$_POST[c_a]' , '$_POST[c_b]' , '$_POST[d_a]' , '$_POST[d_b]') ";


//végrehajtjuk az utasitast
$sql= "SELECT * FROM tabla WHERE kategoria = '$_POST[..]' AND terulet = '$_POST[..]' 
AND meret between '$_POST[..]' and '$_POST[..]' AND ar between '$_POST[..]' and '$_POST[..]' ";
	


$eredmeny = mysql_query($sql, $ossz) or die(mysql_error());

while ($ujTomb = mysql_fetch_array($eredmeny)) {
$azonosito = $ujTomb['..'];
$kategoria = $ujTomb['..'];
$terulet = $ujTomb['..'];
$meret = $ujTomb['..'];
$ar = $ujTomb['..'];
$leiras = $ujTomb['..'];

echo " mezonevek";
}

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