ciclo in PHP per creare numero progressivo

bonechid

Nuovo Utente
24 Apr 2015
14
0
0
Prato
Ciao a tutti.
Ho questo codice:
<?php
$num_prot="1"; // ogni id protocollo dovrà incrementarsi il num_prot e di conseguenza il num_tot_prot
$num_tot_prot = ("$num_prot" + "993");
$anno = "15";
$numser = "$num_prot \ $num_tot_prot \ $anno";
echo $numser;

?>

e questo form che invia dati ad un db:

Gestione Protocolli.png

Ogni volta che entro nella pagina dovrei visualizzare il numero progressivo già auto incrementato ed a fine inserimento SE clicco su invia mi spedisce i dati al db ALTRIMENTI il "numser" rimarrà invariato.
Il resto del form funziona perfettamente, devo aggiungere questo maledetto numero progressivo.

help me
 
Ultima modifica:
Ma se i dati partono sempre da li e non vengono salvati da nessuna parte non ha senso, perchè ogni volta che carichi la pagina avrai lo stesso numero, quindi il numero progressivo sarà ogni volta lo stesso
 
per fare ciò che chiedi, dovresti scrivere un poco di codice (php per esempio)
con questi criteri,

1 far inserire tutti i dati del documento che intendi protocollare, validandoli e
proseguendo con le operazioni successive solo quando l'input dei dati è terminato correttamente

2 attivare una transazione sql con lo scopo di controllare il processo di aggiornamento del db
attenzione all'autocommit del db, deve essere disattivato

3 leggere dal db il max(contatore annuale) per l'anno corrente (select for insert/update)
attribuendo 0 se il valore non è stato trovato

4 leggere dal db il max(contatore perpetuo) (select for insert/update)
attribuendo 0 se il valore non è stato trovato
attenzione che la lock stabilita con "for insert/update" non vada in conflitto con la precedente

5 sommare 1 ai 2 contatori letti,

6 scrivere il record del protocollo con i nuovi valori dei contatori e con l'anno corrente

7 se la scrittura avviene con successo, autorizzare il commit della transazione
altrimenti il rollback della stessa

in questo momento puoi visualizzare a video il numero di protocollo attibuito al documento memorizzato
( salvo rollback ! )

ps, per certezza, nella tabella "protocollo", i due contatori devono contenere dati univoci, va quindi specificato
(il primo legato all'anno)

ciao
Marino
 
Ultima modifica:

Discussioni simili