Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Help Generazione progressivo con reset annuale

    salve/ciao a tutti,
    non sono esperto di programmazione, ne di pagine web in generale, ma mi incuriosisce molto il campo in questione tant'è che mi sono imbarcato in un'impresa, che apparentemente e inizialmente credevo fosse molto + semplice, ma che man mano che prende corpo....mi accorgo non essere proprio cosi banale, soprattutto causa limiti di esperienza in materia.... vabbe ormai che sono in ballo....ballo appunto!
    e qui entrate in gioco voi, che spero possiate darmi una mano, nei momenti di crisi come questo... cerco di spiegarvi il problema...

    ho una form, in cui inserisco tutti i miei bei text, select radio ecc. ecc.
    all'invio della form passo a una seconda pagina, dove elaboro e poi visualizzo un report (alla cui accettazione seguirà l'inserimento vero e proprio in db)in cui compaiono alcuni dati che devono essere generati e scritti in automatico dal sistema
    in poche parole ho un dato composto da anno-progressivo_anno e qui mi sorge il problema...
    l'anno me lo ricavo con getdate:

    $today = getdate();
    $year = $today['year'];

    ma quello che mi crea delle turbe mentali da 2 gg è il progressivo, che si resetta al cambio di anno e che deve essere composto da 3 cifre nel formato 001, 002...011..100...999 e questo non so proprio come farlo...

    chi mi sa dare una mano???? please help...

    fondamentalmente i passi penso siano:

    1_faccio una query sul db dei campi data, progressivo, (e fin qui ci sono) e leggo il valore dall'ultima riga (e questo non so come farlo)

    $extract = "SELECT id, data, progressivo FROM commesse WHERE data = $year ORDER BY id";

    poi mi perdo nei meandri di sql per la selezione della riga con id massimo

    2_verifico che l'anno sia quello presente, nel caso se $year > data
    allora $progressivo = 001 altrimenti incremento il valore ultimo disponibile di 1...

    3fatto ciò $job=$year .'-' . $progressivo

    vi prego aiutatemi ... sto delirando..
    il campo progressivo in sql è settato come varchar(3) in quanto come int mi mette solo 1,2,4,9,11...ecc
    se avete suggerimenti anche per questo....tnk.

  2. #2
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    non ho capito bene cosa devi fare e cosa è questo progressivo, comunque, per avere l'ulrima riga inrita ti basta fare una query come questa:

    Codice PHP:
    SELECT iddataprogressivo FROM commesse WHERE data $year ORDER BY id DESC Limit 0,
    per quanto riguarda il campo nella tabella come int puoi inserire tutti i numeri interi mentre se ti occorre usare numeri con la virgola puoi usare DECIMAL come tipo di campo, per il resto prova a farmi un esempio di quello che devi fare e vedo se riesco ad aiutarti

  3. #3
    io ho una tabella, dove archivio tutte le informazioni riguardanti il "job", quindi, cliente, contatti, descrizione del lavoro, ordine, e il numero del job (composto da ANNO_001, 002, 0NN)
    questo numero di "job", ogni anno viene "resettato" quindi avro per l'anno passato commesse chiamate 2006_001, 2006_NNN, e per quello presente 2007_001 e cosi via, in parole povere al cambiare di anno questo "contatore" riparte da 001
    io ora il campo progressivo lo ho messi come varchar....altrimenti non saprei come memorizzare il valore 001, 002 ecc ecc... mi prenderebbe solo 1,2,100 ecc..

    quello che mi manca è il leggere l'ultimo rigo della query in questione (ora me lo hai scritto te grazie, e come portare, al formato "001" un numero "1" e/o come incrementare di 1 un valore 001...facendolo quindi diventare 002 e cosi via, non credo che l'istruzione


    $query_pro =mysql_query("SELECT id, data, progressivo FROM commesse WHERE data = $year ORDER BY id DESC Limit 0,1");

    $pincopallino = $query_pro['progressivo'];
    $progressivo = $picopallino++;

    non ho ancora provato al momento del post...

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.