Kezdőoldal » Számítástechnika » Weblapkészítés » Php-ban hogyan kell azt...

Php-ban hogyan kell azt megoldani, hogy bizonyos számú adatkiírás után (pl.10) az adatok alatt linkek jelennek meg, amik csoportokra bontják ezeket? (pl.1-10 11-20 stb)

Figyelt kérdés
2011. máj. 20. 19:44
 1/6 anonim ***** válasza:
Oldalakra akarod bontani, mint itt a kérdések felsorolásánál vagy ki akarsz íratni mindent, de 10 soronként be akarsz szúrni valamit?
2011. máj. 20. 20:30
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:
oldalakra bontani szeretném, de ha már szóba került a beszúrásos dolog is érdekelne :D
2011. máj. 20. 20:31
 3/6 anonim ***** válasza:

Legegyszerűbb:

Tudod, hogy hány adat van. Ebből azt ki tudod számítani, hogy hány oldal kell neki. (pl. 11 adatnál 2 oldal, stb.)

Ha már tudod, hogy hány oldal kell, mindegyik oldalnak adhatsz külön számot. (1,2,3... :P)

Megjelenítéshez pedig megjeleníted az adatokat: adatok = ez egy intervallum! ( (oldalszama-1)*10 +1, minimum( összes adat száma, oldalszáma*10) )

...valami ilyesmi kell neked :P

2011. máj. 20. 21:12
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:

Szvsz, egyszerű megoldás az, ha a kiírandó adatokat adatbázisban tárolod. Az egyik mezőben feltétlenül sorszámokat tárolj, akár auto increment formában (így automatikusan fog generálódni)!

Lekéred az adatbázisban levő adatokat mindaddig, amíg a sorszám utolsó karaktere 0 nem lesz.

Tömbben eltárolod a lekért adatokat és kiíratod olyan formában és oda, ahova szeretnéd.

Az utolsó rekord sorszámát feltétlenül el kell tárolni egy változóban, hogy a következő lekérdezésben már csak tárolt sorszám utáni sorszámokkal rendelkező rekordokat tudd lekérni.


A oldalszámokhoz rendelt linkeket pedig dinamikusan is tudod generálni, az adatbázisban tárolt adatok segítségével, így elég lesz egyetlen php feldolgozó scriptet készítened.

2011. máj. 21. 08:35
Hasznos számodra ez a válasz?
 5/6 A kérdező kommentje:
Adatbázisból akartam kiíratni, de ha auto incrementet használok és törlök valamit akkor az egész rendszer megzavarodik ezért nem próbálkoztam ezzel
2011. máj. 21. 12:14
 6/6 anonim válasza:

Jó az adatbázisos megoldás, csak kicsit másképp kell csinálni.

Az auto increment sorszámozás arra lesz jó, hogy megadja a sorrendet. Így ha törölsz, az sem gond, hisz a 2 után jön a 8 is.


Szóval:

Lekérdezed az összes listázandó elemet/mysql_num_rows()/. Ebből megtudod, mennyi van belőlük, megcsinálod az oldalszámokat a már említett módokon.


Amikor valaki egy oldalszámra kattint, akkor már csak célzottan kérdezel le:


tol=oldalszám*oldalankénti darab;


SELECT * FROM táblanév WHERE ha van feltétel LIMIT tol, oldalankénti darab ORDER BY sorszám



Egészen konkrét példa:


SELECT * FROM product WHERE visible=1 LIMIT 1,10 ORDER BY id



Remélem segítettem.


Viasz

2011. máj. 21. 14:19
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!