Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    52

    Funzione check posizione

    Ciao a tutti,
    ho uno script di inserimento news che è ordinato per posizione. L'amministratore inserisce la posizione (1,2,3 o "altro") in cui vuole che sia visualizzata la news.
    Per "altro" ho una funzione che seleziona l'ultimo record inserito nel db, es. posizione 10, e me la incrementa di 1.
    Quindi , dopo aver inserito la news 10, inserendone un'altra , mi si scrive 11 nel campo "posizione" del db e così via .
    Il problema sta nella modifica della posizione della news, perchè se modifico la news numero 6 con "altro" (supponendo che ci siano 10 news nel db), mi inserisce la news 11 ma...
    nella pagina di visualizzazione mi vede le news 1,2,3,4,5,7,8,9,10...
    Mi scompare la 6!
    Dovrei trovare un modo intelligente per dirgli di checkare che i numeri siano consequenziali,e se non lo sono di diminurli di 1... Grazie in anticipo per qualsiasi aiuto!

  2. #2
    nel db il campo lascialo così, ma nella query estraiti un campo priogressivo che ti conmti i record in maniera consequenziale cosìa video e nelle procedure appariranno numeri sequenziali anche se a db i numeri non lo sono ...mi sembra la soluzione più velioce ...

  3. #3
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Devi verificare se la news che modifichi abbia o meno news successive. Se non le ha non credo ti serva incrementare di 1 (perché passeresti la 10 a 11 ma ci sarebbe un buco tanto sempre ultima rimarrebbe)...
    Se le ha, come nel tuo caso, devi prima decrementare le successive di 1 e poi aggiungere quella che intendi modificare all'ultima posizione.

    Ti ci vuole qualche select...

    Roby

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    52
    Grazie vaargard,
    se entro oggi non riesco a risolvere nell'altra maniera, uso il tuo metodo certo veloce!
    Grazie Roby_72,a livello tecnico per decremantare le news successive di 1 devo usare un ciclo for (essendo le news successive dinamiche), poi selezionare l'ultima posizione e a quella aggiungere la news modificata se non erro...
    Grazie ancora !

  5. #5
    fai così, preleva il valore massimo della posizuione che c'è sulla tabella e sommagli 1 ... successivamente lanci una query di modifica sulla tabella con la quale modifichi la posizione in oggetto (come fai ora) ultimo passaggio lanci un update sulla tabella decrementando il campo di un'unità con una condizione: la posizione dalla quale partire per la modifica è la vecchia posizione , ovvero se la posizione modificata era la numero 3 la condizione sarà

    wheer posizione>3

    xciao ciao

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    52
    Perfetto!
    Grazie mille Ciao!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.