Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP + MySQL tablen reorder

Mikroz [25.06.2008 08:22:06]

#

Huomenta kaikille putkalaisille, olen tässä miettinyt ja pähkinyt miten kannattaisi toteuttaa tietokannan rivien uudelleenjärjestämisen scripti, niinkuin esim Joomla:ssa artikkeleiden järjestys.

Oletetaan että minulla on table: id,parent,level,otsikko,aihe,order. Ja näissä tuo order määrittää järjestyksen ryhmien tiedoille, ryhmät siis määräytyvät level:n ja parentin mukaan.

Eli nyt kaipaisin vain ideoita joista ottaa suunta mitä alkaisi tekemään, itselläni näkemys että siirtoa tehtäessä olisi hyvä ensin tarkistaa että ryhmän järjestys menee loogisesti 1,2,3,4,5 eikä esim. 1,2,5,8 (jos riviä on poistettu välistä). Tämän osuuden olen jo saanut toteutettua, mutta kuinka tästä jatkaisi eteenpäin?

ajv [25.06.2008 08:41:53]

#

Itse tein juuri vähän aikaa sitten vastaavan toiminnon. Koodeja ei ole nyt saatavilla, mutta muutamalla kyselyllä ja päivityksellä tuo meni aika kivaan pakettiin. Mietit vain tarkkaan nuo tapaukset auki:

1. Nostat yhtä riviä => haet ensin sen nostettavan rivin ylemmän rivin id-arvon talteen jonka jälkeen suurennat ko. rivin order-arvoa ja vastaavasti pienennät nostettavan rivin orderia. 3-kyselyä.
1.1 Muista tarkistukset, ettei olla nostamassa ylintä riviä ylemmäs.
2. Samat toisin päin
3. rivin tuhoaminen välistä: haet ensin sen tohottavan rivin order-arvon, jonka jälkeen UPDATE table SET order = order - 1 WHERE order < poistettavan_rivin_order. 2 kyselyä.

Mikroz [25.06.2008 08:59:33]

#

Kiitos nopeasta vastauksesta, pitänee aamukahvin jälkeen alkaa väkertämään...
Tällä viikolla unetkin jääneet niin vähäisiksi ettei oma ajatus kulje oikein normaalia tahtia.

Muutamia ajax virityksiä löytyi aiheesta mutta mitään konkreettista koodia ei kyllä tunnu interwebin perukoilta löytyvän, jos sitä jaksaisi värkätä ihan jaettavan kyhäelmän.

Lebe80 [25.06.2008 10:26:30]

#

Hyvänä ideana olisi käyttää esim. MooTree:n tapaista javaScript-kikkaretta (esimerkkilinkit näyttivät kuolleilta, niin en niitä nyt löytänyt), jolla moniulotteisia listoja voi järjestellä uudelleen raahaamalla. Tämän listan sitten vain menet tallennusvaiheessa läpi, niin saat selville järjestyksen, emohaarat yms.

Toimii myös Joomlassa, mutta sinun pitää tietenkin tehdä oma komponentti.


edit:
upin jonkun vanhan testin:
http://games.terolepisto.net/old/temp/tutor/mootree/

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta