ugrás a tartalomhoz

Tablesort

kuller · 2004. Okt. 8. (P), 11.32
Hogyan kell megoldani, hogy egy táblázat, a fejlécében lévő adatokra rendezhető legyen? A submit gombok rondák fejlécben és a megvalósításuk sem sikerült, mert nem tudom lekérdezni, hogy melyik submit gombot nyomtam meg. A $_POST['edit'] nem tartalmazza ezt. (A global $conf-ot is megnéztem, de az sem.)
Sokkal elegánsabb megoldás lenne ha a táblázat fejlécében linkek lennének és egy, mondjuk $order változóval átadnám, hogy melyik melyik mezőre kell rendezni. kb így: l(t($mezo), "$oldal_url?$order=$mezok[$i]")
A probléma az, hogy az űrlap amikor meghívja magát már nem ismeri az $order változót. Mintha nem is adtam volna át.

Szerintetek jó irányba keresem a megoldást és gépelési hiba van, vagy teljesen máshogy kéne csinálnom?

Kuller
 
1

Táblázat sorrendezés

Hojtsy Gábor · 2004. Okt. 8. (P), 14.17
Egy csomó Drupal táblázat sorrendhető. Külön tablesort funkciók vannak ennek megoldására és támogatására. Lásd az egyik-másik ilyen tábla implementációját.
2

Probléma ha több tálázat van.

kuller · 2004. Okt. 14. (Cs), 19.47
Megfogadtam a tanácsod és a "tablesort_sql" függvényt (megtetszett a watchdogban) sikerült működésre bírni. Gyönyörűen gyártja is a táblázatot, rendezi headerben lévő linkre.
Mégis gondom akadt vele mert 1 oldalon 5 különböző felépítésű táblázatot szeretnék megjeleníteni.*
Az lenne logikus, hogy bármelyik tábla rendezésénél az adott tábla megváltozik a többi változatlan marad. Csakhogy az oldal újrahívásánál a $_GET['order']-változó tartalmára akarja rendezni az összes táblát, ami az eltérő mezőnevek miatt a többi táblánál sql-hibát generál.
Az oldalam legnagyobb erénye az összetett keresés, nem szeretnék lemondani róla.
Ezekre a megoldásokra gondoltam:

1.) Felbővítem a $_GET['order']-t (al)tömbbé és a $_GET['order']['1'] .. $_GET['order']['5']-be tárolom a megfelelő adatot. Sajnos ekkor át kell írom a tablesort.inc-ben néhány dolgot. (Ez túlbonyolított barkácsolásnak tűnik.)
2.) A $_GET['order'] változó hogyan írható? Mert a táblák megjelenítésénél át lehetne írni a tartalmát.
3.) Lehet, hogy van olyan tablesort függvény ami 1 oldalon több táblát is kezel csak nem vettem észre?
4.) Esetleg a tartalmat lehetne több lapon megjeleníteni valamilyen pager funkcióval?
5.) A weblabor fórumon tanácsot kérek:)


Üdv:Kuller

*5 hasonló tartalmú de eltérő felépítésű táblában összetett keresés miatt. A régi tablesort_sql nélküli megvalósítás a http://elan.rulez.org/~kuller/wwiihq/taxonomy_menu/1/14 -on látható, de ez nem rendezhető headerre.

(talán át kéne nevezni a fórumot tablesortra)
3

Több táblázat sorrendezve

Hojtsy Gábor · 2004. Okt. 15. (P), 09.32
Nem tudok ilyen beépített szolgáltatásról. Én a következőt tenném első nekifutásnak:
  • meghatároznám, hogy melyik táblának mi az alapértelmezett rendezése
  • ezt (illetve a táblák aktuális rendezési kulcsait) munkamenetben tárolnám
  • ha egy táblát másképp rendezve kérnek, akkor az oszlopnév alapján csak annak a tablesortnak adom be az értéket, aminek kell, a többi elől elrejtem a $_GET['order']-t és társait: először az éppen rendezendő lekérdezést állítanám elő, és utána a megjegyzett rendezéseket állítanám be a tablesort hívások előtt
Persze lehet rá koncepcionálisan szebb megoldást is csinálni, ha általában többször lesz rá szükséged...