Pagina 2 di 2
Re: riordinamento in portale
Inviato: venerdì 2 agosto 2019, 13:40
da fmstb
sono stato precipitoso… non funziona correttamente. Avevo guardato con troppa superficialità. Mi sballa tutta la numerazione. Almeno questo mi fa capire perché tu avevi sostituito il numero e non fatto scalare gli altri.
Non vorrei appesantire di script una funzione del genere.
1 uno
2 due
3 tre
4 quattro
5 cinque
se voglio fare
1 uno
2 quattro
3 due
4 tre
5 cinque
spostando al record con numerazione 4 la numerazione 2
lascio integri i numeri che sono maggiori della posizione originaria di 4
aumento di 1 tutti quelli che precedono la posizione 4
lascio integro il record che precede la destinazione 2
ho provato a mettere queste condizioni in uno script successivo ma non ci sono ancora riuscito. O meglio… funziona tutto correttamente con la prima richiesta, ma alla seconda mi sballa.
Se provo a spostare quattro in 2 e poi riportare quattro in 4 mi sbaglia i numeri di riferimento

Re: riordinamento in portale
Inviato: domenica 4 agosto 2019, 20:05
da meccanico91
Scusami ma non riesco a comprendere esattamente la tua richiesta...
Ciao
Re: riordinamento in portale
Inviato: lunedì 5 agosto 2019, 12:49
da fmstb
non sei il primo a dirmi questo, quindi è evidente che mi spiego in modo pessimo.
ho dei record. Il primo numero fa conto sia il campo "ordine", il secondo invece è il campo "testo"
1 uno
2 due
3 tre
4 quattro
5 cinque
se sposto il record con il testo "quattro" in posizione 2 quello che vorrei ottenere è questo
1 uno
2 quattro
3 due
4 tre
5 cinque
che sembrerebbe una sciocchezza, ma non lo è dato che gli altri non scorrono in modo automatico, ma bisogna trovare un algoritmo in grado di farlo.
Ci ero riuscito… ma non era completo perché se poi volevo ripristinare il record alla posizione 2 con il testo "quattro" di nuovo alla quarta posizione non c'era la coerenza del risultato.
Sto cercando di inserire un record in una nuova posizione, non sto cercando di sostituire due posizioni tra di loro.
Re: riordinamento in portale
Inviato: lunedì 5 agosto 2019, 21:06
da meccanico91
Facciamo altri esempi:
Se sposto “cinque” nella posizione 2 dovrebbe diventare così?
1 uno
2 cinque
3 due
4 tre
5 quattro
oppure se sposto “tre” nella posizione 1 dovrebbe diventare così?
1 tre
2 uno
3 due
4 quattro
5 cinque
Mi stanno venendo le traveggole...

Re: riordinamento in portale
Inviato: martedì 6 agosto 2019, 6:11
da fmstb
sì, esatto… ma perché ti vengono le traveggole? C'è una coda in cui dover operare dei possibili spostamenti senza alterare la successione con un inserimento. Facile se si tratta di uno spostamento di una posizione, ma quando lo spostamento è maggiore beh… non è facile. Il calcolo si complica.
Se il record della posizione 4 va nella posizione 2 devo per esempio dire che i record che precedono la posizione di destinazione non cambiano e così quelli che sono successivi alla posizione originaria, ma non solo… i record intermedi devono essere incrementati di uno. Tutto questo solo se da 4 vado a 2. Se invece da 2 vado a 4 gli intermedi vanno decrementati di 1 e gli estremi invece rimangono - gli estremi in questo caso però sono quelli che precedono la posizione originaria e sono successivi a quella di destinazione.
E magari esiste una istruzione tipo "inserisci" che lo fa automaticamente e io non lo so
