Jump to content
php.lv forumi

Pogu pozīciju maiņa un noteikšana


Turecky

Recommended Posts

Sveiki!

Domāju, ka tautieši spēs ieteikt labāko risinājumu. Problēma sekojoša. Nevaru izdomāt loģisko ķēdi pogu pozīciju noteikšanai un maiņai.

Tabula=>

ID-Nosaukums-Pozīcija

1---Pirmā-----------1

2---Otrā-------------2

3---Trešā-----------3

4---Ceturtā---------4

 

 

Nepieciešams pievienojot jaunu pogu, piemēram, Piektā ievietot to starp Otrā un Trešā. Tātad Trešās un Ceturtās pogas pozīciju vajadzētu palielināt par vienu pozīciju. Vai arī situāciju, kad sākuma gadījumā Ceturto pogu vēlētos pārvietot uz otro pozīciju, tādejādi vajadzētu Otrajai un Trešajai pogai pozīciju palielināt par vienu pozīciju. Domāju, ka tas pats tieši būtu, ja pozīcijas vajadzētu samazināt, ja, piemēram, Otro pogu pārvietotu uz beigām, tad Trešajai un Ceturtajai pogai pozīciju vajadzētu samazināt.

 

Atcerējos vēl vienu lietiņu. Kā labāk izpildīt to pogu pozīciju izvēlni? Ja pievienoju pogu, kā piedāvāt pozīcijas vietu izvēlni?! Lai var iebakstīt vēlamajā vietā. Varbūt ir kādi risinājumi, lai gadījumā nesanāk tā, ka sākumā izveidojam pogu, kas tiek ielikta beigās un pēc tam mainai pozīciju, līdz vēlamajai.

 

Ceru, ka sapratāt manu problēmu. Ja ir kādi labās prakses risinājumi šim gadījumam, labprāt uzklausītu, jo pagaidām kaut kā nevaru izdomāt, kā to procedūru izpildīt.

 

Jau iepriekš paldies par palīdzību.

Link to comment
Share on other sites

Manuprāt vienkārši visu jāsaliek masīvā, jāsadala pa daļām (līdz kuram elementam nemainās un pārējo), sakārto kā vajag, TRUNCATE un pēc tam INSERT, ja ID ir auto_increment.

Es pat neredzu lielu jēgu to bāzē glabāt ja to pogu nebūs vairāki simti.

EDIT: lai gan ja izmanto kādā sistēmā, bāzē strādāt būs ērtāk.

Edited by mounkuls
Link to comment
Share on other sites

Nu ja, mazliet nesapratu laikam vajadzību. To iespraušanu laikam ar <select name="num_after"> un pirmajā vietā kā sākumā un tālāk jau no bāzes order listi. Lai selektē aiz kuras pogas un atgriež vietu. Kā sakārtot tabulā tā sakarīgāk nezinu, bet domāju ka tāpat jātaisa masīvu php.

Link to comment
Share on other sites

Ja zināms ir jaunais pozīcijas numurs (x), kur pogu ievietot, tad visiem pārējiem, kam pozīcija ir >=x, poziciju palielini par vienu. ievieto jauno pogu pozīcijā x.

Esošo pogu pozīciju pārbīdīšanu uztaisi kā divu blakusesošo pogu pozīciju maiņu.

Dzēšanā atkal visas pozīcijas, kas zem dzēstā, tiek samazinātas pa 1.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...