Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    170

    Rinnovare iscritti anno per anno

    Io ho una tabella in cui ci sono degli iscritti con id univoco, nome, cognome, anno di iscrizione.
    Per rinnovare all'anno successivo faccio una select con l'id da rinnovare ed una insert con gli stessi dati ma con l'anno nuovo, e quindi avrò un nuovo record con id e anno diverso.
    Cosi però non so come fare per poter verificare se un utente è stato iscritto all'anno nuovo perchè non posso fare la ricerca per id, perchè se è stato già iscritto la stessa persona ha 2 id diversi.
    Qual'è il modo più giusto per gestire questo tipo di situazione?
    Thanks

  2. #2
    aggiungi un campo con l'anno di iscrizione

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    170
    c'è già un campo per l'anno di iscrizione, ma se lo sovrascrivo non posso sapere se era iscritto anche gli anni precedenti

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    come ti ha detto Stefano aggiungi un campo con l'anno di iscrizione e tieni un campo con la data di rinnovo, quindi fai un update sulla tabella invece di inserire nella stessa informazioni identiche visto che facendo così mandi all'aria la normalizzazione della tabella.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    170
    si, sarebbe una buona idea tenere un campo per l'iscrizione, che rimarrà sempre quello, ed uno per il rinnovo, che cambia ad ogni rinnovo, quindi ogni anno.
    Il problema è che così non potrò avere lo storico di tutti gli anni di rinnovo: se uno l'anno scorso era iscritto, quest'anno non rinnova, l'anno prossimo invece si, così facendo non posso sapere se quest'anno aveva rinnovato oppure no, perchè il campo mi verrà sovrascritto con l'ultimo rinnovo, indipendentemente se il precedente anno non era stato rinnovato!

  6. #6
    Allora ti crei una tabella che potresti chiamare anno

    poi dentro ci metti l'id dell'utente e ogni anno aggiungi un campo (potrebbe essere di tipo int anche solo con uno 0 per no e 1 per si)
    Poi per sapere fai uan query piu o meno cosi

    select * from tabella_user
    left join anno as anno on tabella_user.id=anno.id_utente

    Cosi ricevi indietro tutte le invio

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 © 2025 vBulletin Solutions, Inc. All rights reserved.