Count che ricomincia ogni anno

  • Creatore Discussione Creatore Discussione alankanz
  • Data di inizio Data di inizio

alankanz

Lupacchiotto
Membro dello Staff
MOD
18 Giu 2014
147
5
18
Roma
Salve a tutti,


sto cercando di implementare un sistema di ricevute per mettere un numero progressivo che ricomincia ogni anno.

Esempio facciamo finta che siamo a dicembre 2022 e sto emettendo la ricevuta numero 20 a gennaio 2023 non comincierà da 21 ma da 1.

La mia idea iniziale è di fare una funzione che per prima cosa mi prende l'ultima data inserita a DB

PHP:
$data = date_create($result[0]["order_at"]);

poi mi prendo l'anno della data

PHP:
date_format($data, "Y");

e me la confronto con l'anno di quando inserisco la nuova ricevuta se l'anno è uguale faccio +1 al conteggio se no inserisco 1 come valore.

Spero di averlo spiegato bene.
 
Ciao io faccio così
PHP:
$AnnoSinistro = date('Y');

$query = "SELECT 1+MAX(NumPratica) as NumPratica FROM tblsinistri where AnnoSinistro=".$AnnoSinistro;
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)) $NumPratica = $row['NumPratica'];

if ( empty($NumPratica) ) $NumPratica = 1;
 
Salve a tutti,


sto cercando di implementare un sistema di ricevute per mettere un numero progressivo che ricomincia ogni anno.

Esempio facciamo finta che siamo a dicembre 2022 e sto emettendo la ricevuta numero 20 a gennaio 2023 non comincierà da 21 ma da 1.

La mia idea iniziale è di fare una funzione che per prima cosa mi prende l'ultima data inserita a DB

PHP:
$data = date_create($result[0]["order_at"]);

poi mi prendo l'anno della data

PHP:
date_format($data, "Y");

e me la confronto con l'anno di quando inserisco la nuova ricevuta se l'anno è uguale faccio +1 al conteggio se no inserisco 1 come valore.

Spero di averlo spiegato bene.
Prendi la data dell'ultima ricevuta memorizzata, puoi usare la query di Max61 o semplificarla un poco.
$sql = 'SELECT annoRicevuta FROM ricevute ORDER BY annoRicevuta ASC LIMIT 1';
e se è uguale all'anno in corso imlementi il suo numero, se no memorizzi il nuovo anno.
Magari per il database non userei le mysql_
 

Discussioni simili