Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2016
    Messaggi
    10

    PHP modulo con numerazione progressiva

    Salve a tutti, ho un file php che serve come inserimento dati di un associato con relativo spazio per il numero di tessera, vorrei impostare la pagina in modo tale che inserisca in automatico il numero di tessera in modo progressivo ad ogni utilizzo, è possibile? Vi dico in anticipo che non ho molta dimestichezza con i codici

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    I dati li salvi in un database e nella tabella degli associati l'id è un auto_increment che corrisponde al numero di tessera, giusto?
    Allora quando apri la pagina per l'inserimento fai una query sul db per recuperare l'ultimo id inserito, per esempio con una SELECT MAX(id) FROM associati, fai +1 al risultato e metti quel numero nel campo del form relativo al numero di tessera.

    Ovviamente non devono esserci più operatori che fanno l'inserimento di nuovi associati contemporaneamente, altrimenti in un attimo ti trovi il db incasinato o con errori per cui non puoi inserire qualcuno; tutto ciò a causa di collisioni sui numeri di tessera.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2016
    Messaggi
    10
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    I dati li salvi in un database e nella tabella degli associati l'id è un auto_increment che corrisponde al numero di tessera, giusto?
    Allora quando apri la pagina per l'inserimento fai una query sul db per recuperare l'ultimo id inserito, per esempio con una SELECT MAX(id) FROM associati, fai +1 al risultato e metti quel numero nel campo del form relativo al numero di tessera.

    Ovviamente non devono esserci più operatori che fanno l'inserimento di nuovi associati contemporaneamente, altrimenti in un attimo ti trovi il db incasinato o con errori per cui non puoi inserire qualcuno; tutto ciò a causa di collisioni sui numeri di tessera.
    l'unica cosa che ti posso assicurare di tutto ciò è che lavoro su un database e che ispezionando il file (che ti metto in allegato) InsAnagrIns.txt non mi sembra che sia un auto_increment perche devo inserire io di volta in volta il numero di tessera

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Infatti da qeul file non puoi capire come è fatto il database, dovresti vedere lo script che effettivamente inserisce i dati nel DB, oppure accedere direttamente al db per vedere come è fatto, per esempio con phpMyAdmin se disponibile.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2016
    Messaggi
    10
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Infatti da qeul file non puoi capire come è fatto il database, dovresti vedere lo script che effettivamente inserisce i dati nel DB, oppure accedere direttamente al db per vedere come è fatto, per esempio con phpMyAdmin se disponibile.
    perdonami ma come ti ho detto in precedenza non sono molto pratico, cosa devo controllare nel phpmy admin? dimmi tutto passo passo e ti faccio sapere tutto

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2016
    Messaggi
    10
    ciao a tutti, allego 2 schermate una del database e una della pagina che uso per inserire i dati, il mio scopo sarebbe quello di far si (se è possibile) che la casella Numero di Tessera si numeri in automatico con numero progressivo tipo A001B - A002B...... senza che deva essere io ad inserirlo, grazie a chi potrà spiegarmi in modo semplice come fare2017-10-31.jpg2017-10-31 (1).jpg

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Quindi il numero di tessera non è un semplice intero sul quale si possa fare +1, è un codice alfanumerico, il che complica di molto la situazione.
    Fattibile è fattibile, ma devi scriverti una funzione che dato un numero di tessera sia in grado di generare correttamente il successivo, in pratica se gli dai A001B come nell'immagine, dovrà generare (suppongo) A001C e dovrà saper gestire tutti i casi limite possibili, tipo il successivo di A001Z, il successivo di A009Z, di A099Z, di A999Z e via dicendo.

    Prendere l'ultimo codice generato potrebbe non essere banale, anche se il semplice ordine alfabetico dovrebbe funzionare, incredibilmente non è stato messo un campo per la data di inserimento del tesserato.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2016
    Messaggi
    10
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Quindi il numero di tessera non è un semplice intero sul quale si possa fare +1, è un codice alfanumerico, il che complica di molto la situazione.
    Fattibile è fattibile, ma devi scriverti una funzione che dato un numero di tessera sia in grado di generare correttamente il successivo, in pratica se gli dai A001B come nell'immagine, dovrà generare (suppongo) A001C e dovrà saper gestire tutti i casi limite possibili, tipo il successivo di A001Z, il successivo di A009Z, di A099Z, di A999Z e via dicendo.

    Prendere l'ultimo codice generato potrebbe non essere banale, anche se il semplice ordine alfabetico dovrebbe funzionare, incredibilmente non è stato messo un campo per la data di inserimento del tesserato.
    ma a me interessano solo i numeri dinamici e no le lettere

  9. #9
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Ma da ciò che hai postato il numero di tessera non è un numero, è un codice alfanumerico (quello attualmente salvato nel db è A001B), quindi di un numero puro che te ne fai?
    Ultima modifica di Alhazred; 31-10-2017 a 22:36

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