Numerare automaticamente campo numerico

The-Night

Utente Attivo
18 Ott 2015
59
0
6
PHP:
//recupero l'anno corrente.
$AnnoSinistro=date("Y");

//recupero la data corrente.
$Data_Richiesta_Utente =date("d-m-Y");

//query mysql di ricerca anno.
$sql_cerca = mysql_query("SELECT * FROM tblsinistri  WHERE (AnnoSinistro LIKE '%" . $AnnoSinistro . "%' ");

//corrispondenze trovate
$trovati = mysql_num_rows($sql_cerca);

//se ci sono risultati incremento il numero della pratica.
if($trovati > 0) {
  
  $Num_Pratica +1;
  
  // Print out result
  while($row = mysql_fetch_array($result)) {
    
    $ultimonumero_nelDB="".$row['MAX(Num_Pratica)'];
    $Num_Pratica=$ultimonumero_nelDB + 1;
    
  }
}
// Se non trovo corrispondenza setto il numero della pratica a 1.
else {
  $Num_Pratica = "1";

//qui aggiorni il DB aggiungendo l'anno e il numero della pratica.
}

se non ho capito male risolvi il problema così.
 

The-Night

Utente Attivo
18 Ott 2015
59
0
6
ho capito

PHP:
//recupero l'anno corrente.
$AnnoSinistro=date("Y");

//recupero la data corrente.
$Data_Richiesta_Utente =date("d-m-Y");

//query mysql di ricerca anno.
$sql_cerca = mysql_query("SELECT * FROM tblverbali  WHERE (AnnoSinistro LIKE '%" . $AnnoSinistro . "%' ");

//corrispondenze trovate
$trovati = mysql_num_rows($sql_cerca);

//se ci sono risultati incremento il numero della pratica.
if($trovati > 0) {
  
  $Num_Pratica +1;
  
  // Print out result
  while($row = mysql_fetch_array($result)) {
    
    $ultimonumero_nelDB="".$row['MAX(Num_Pratica)'];
    $Num_Pratica=$ultimonumero_nelDB + 1;
    
  }
}
// Se non trovo corrispondenza setto il numero della pratica a 1.
else {
  $Num_Pratica = "1";

//qui aggiorni il DB aggiungendo l'anno e il numero della pratica.
}

prova così.
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
Ecco il database
....
Ciao

Max, scusa, non ho chiesto il db (me ne avevi già inviato copia), ti ho chiesto

quale campo associato alla pratica definisce l'anno di appartenenza ? questo campo come è definito nel db ovvero quale formato ha ?

la ragione della mia domanda è per sapere come leghi anno di appartenenza e pratica, proprio in funzione del fatto che vuoi inserire una pratica dell'anno precedente, quando siamo già nell'anno corrente

se non è chiaro questo legame, non credo si arrivi ad una soluzione
ciao
Marino
 
Ultima modifica:

Max61

Utente Attivo
2 Mar 2014
740
4
18
Lo screen del database, come te lo mando visto che è 185.3 kb e qua ne accettano fino 100?
e comunque mi ripeto, mi questo errore:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\GestioneSinistri\views\Sinistro_Insert.php on line 248

La riga in questione è:
//corrispondenze trovate
$trovati = mysql_num_rows($sql_cerca);

i nomi di campi e tabelle sono giusti...
Ciao
Max61
 
Ultima modifica:

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
non serve lo screen del database,
è sufficiente che scrivi il nome della tabella e il nome del campo
tutto il resto è superfluo

se non definisci questo, non credo che si possa giungere a una soluzione,

questa è la seconda discussione aperta sullo stesso argomento, anche nella precedente ho cercato di capire, ma se non mi aiuti, finisce come allora .... nel nulla
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Ok, la tabella si chiama tblsinistri
il campo da incrementare $Num_Pratica
il campo dell'anno $AnnoSinistro

Io per ora sono arrivato a fare la numerazione automatica così:
PHP:
//NUMERAZIONE AUTOMATICA
$Data_Richiesta_Utente = date('d-m-Y');
$AnnoSinistro = date('Y');
$Num_Pratica = "";

$query = "SELECT Num_Pratica, MAX(Num_Pratica) FROM tblsinistri"; 
	 
$result = mysql_query($query) or die(mysql_error());
$Num_Pratica +1;

while($row = mysql_fetch_array($result)){
	
	$ultimonumero_nelDB="".$row['MAX(Num_Pratica)'];
	$Num_Pratica=$ultimonumero_nelDB+1;
 }
//FINE NUMERAZIONE AUTOMATICA

Il problema è che come già detto in precedenza vorrei, se possibile che la numerazione all'inizio dell'anno ripartisse da 1.

Grazie
Max61
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
premesso che non mi hai scritto come si chiama il campo della tabella che identifica l'anno di appartenenza,

lo identifico con "AnnoSinistro" derivandolo dal nome della variabile php, se non fosse questo, lo cambierai

PHP:
//NUMERAZIONE AUTOMATICA

$Data_Richiesta_Utente = date('d-m-Y');

$AnnoSinistro = date('Y');

$query = "SELECT 1+MAX(Num_Pratica) as Num_Pratica FROM tblsinistri where AnnoSinistro=".$AnnoSinistro; 
     
$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($result)) $Num_Pratica = $row['Num_Pratica'];

//FINE NUMERAZIONE AUTOMATICA

ma con il codice che hai postato e che ho ripreso, modificando solo le parti necessarie,
non capisco come puoi inserire una pratica relativa all'anno precedente, nello specifico
se usi la data del sistema
PHP:
$Data_Richiesta_Utente = date('d-m-Y');
come puoi agire su anni precedenti ?

ciao
Marino
 
Ultima modifica:

Max61

Utente Attivo
2 Mar 2014
740
4
18
L'anno di appartenenza della pratica lo hai identificato giustamente con $AnnoSinistro
Riguardo all'inserimento automatico, pensavo di toglierlo e di inserirlo a mano, così da poter digitare l'anno che voglio (X-1).
Detto ciò ho fatto alcune prove con il tuo codice
1) Nell'anno corrente incrementa perfettamente il numero nel campo Num_Pratica
2) nell'anno successivo il campo Num_Pratica rimane vuoto
devo modificare qualcosa?

Grazie
Max61
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
PHP:
//NUMERAZIONE AUTOMATICA

$Data_Richiesta_Utente = date('d-m-Y');

$AnnoSinistro = date('Y');

$query = "SELECT 1+MAX(Num_Pratica) as Num_Pratica FROM tblsinistri where AnnoSinistro=".$AnnoSinistro; 
     
$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($result)) $Num_Pratica = $row['Num_Pratica'];

if ( empty($Num_Pratica) ) $Num_Pratica = 1;

//FINE NUMERAZIONE AUTOMATICA
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Grazie funziona!!!
E per le pratiche dell'anno X-1 faccio come ti ho detto l'anno lo inserisco a mano.

Grazie infinite per la pazienza
Max61
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Grazie funziona!!!
E per le pratiche dell'anno X-1 faccio come ti ho detto l'anno lo inserisco a mano.

Grazie infinite per la pazienza
Max61


Ciao marino51, il codice che mi hai postato funziona perfettamente, soltanto che adesso mi è sorta un altra esigenza di cui non avevo tenuto conto, cioè quella di poter incrementare il campo Num_Pratica di ogni cliente, mi spiego meglio:
Cliente Pippo nel DB ha la pratrica n. 1
Cliente Pluto nel DB ha le pratiche n.1, 2 , 3
Vorrei che se vado ad inserire un altra pratica del cliente Pippo il campo Num_Pratica diventasse 2
mentre se inserisco un altra pratica del cliente Pluto il campo Num_Pratica diventasse 4
ovviamente sempre tenendo conto dell'anno.

con la speranza di essermi spiegato allego il codice che ho tentato di modificare senza nessun risultato utile

PHP:
//NUMERAZIONE AUTOMATICA
$Num_Pratica = "";
$AnnoSinistro = date('Y');

//$query = "SELECT 1+MAX(NumPratica) as NumPratica FROM tblsinistri where Nominativo = '".$Nominativo." and AnnoSinistro=".$AnnoSinistro."'"; 
$query = "SELECT 1+MAX(NumPratica) as NumPratica FROM tblsinistri where Nominativo='.$Nominativo' AND AnnoSinistro=".$AnnoSinistro; 

$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($result)) $NumPratica = $row['NumPratica'] AND $AnnoSinistro=$row['AnnoSinistro'];

if ( empty($NumPratica) ) $NumPratica = 1;

//FINE NUMERAZIONE AUTOMATICA

Questo è il codice funzionante che mi hai postato te che incrementa di 1 l'ultimo numero nel DB:
PHP:
//NUMERAZIONE AUTOMATICA
$NumPratica = "";
$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;

//FINE NUMERAZIONE AUTOMATICA

Ciao
Max61
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
M Numerare automaticamente campo numerico con più parametri PHP 4
Gentacti [PHP] Numerare automaticamente PHP 2
T [risolto] numerare progressivamente i record estratti da un dbase Classic ASP 4
F Aggiungere automaticamente sito a home del telefono HTML e CSS 2
G inserire dati automaticamente in mysql PHP 0
M [PHP] Compilare automaticamente il campo data PHP 5
L [PHP] Form da select compilare campi automaticamente PHP 1
L [MS Access] come popolare automaticamente i campi di una sottomaschera MS Access 8
trattorino [PHP] blocchi div che si posizionano in alto automaticamente PHP 5
asevenx [PHP] Eliminare record automaticamente dopo una certa data PHP 12
Lucia Fiore refresh di un div automaticamente Javascript 2
M diminuire automaticamente grandezza input tabella Javascript 5
asevenx Pubblicare automaticamente un articolo da linkedin su blog wordpress WordPress 1
A app che apre automaticamente il bluetooth e connette automaticamente il dispositivo Sviluppo app per Android 3
M Inserire automaticamente il nome di un'immagine in una variabile di tipo stringa Sviluppo app per Android 1
asevenx Correggere automaticamente caratteri strani (rumbo con punti interrogativi) HTML e CSS 9
N FPDF stampare pdf automaticamente su stampante impostata PHP 0
G Aggiornare colonna tabella automaticamente in MysQl PHP 2
L Realizzare script con grafico e tabelle che si aggiornano automaticamente jQuery 1
A stampare più pagine automaticamente PHP 3
E visualizzare automaticamente tutte le immagini di una cartella PHP 1
B Diminuire automaticamente la grandezza del font se i caratteri superano un certo numero PHP 4
E Inviare una mail automaticamente, da un account gmail PHP 1
blips Checkbox attivate automaticamente Javascript 7
Shyson Calcolare la Pasqua automaticamente Javascript 17
T Inserire automaticamente Categorie in hikashop da php mysql PHP 0
F Esiste un programma che verifica la home page e la corregge automaticamente? HTML e CSS 7
A Word per Mac 2011: è possibile formattare automaticamente in corsivo tutte le date di un doc.? Mac e Software 2
S PHP per ridurre automaticamente file JPG PHP 7
D [SERVIZIO FB] PageRush.net Pubblica Automaticamente i contenuti sulle tue pagine di facebook! Annunci servizi di Social Media Marketing 0
A usare onclick automaticamente senza cliccare HTML e CSS 13
P Joomla: Check box spuntata automaticamente! Joomla 1
V Immagini che cambiano automaticamente Javascript 1
G Creare automaticamente un box con le novità HTML e CSS 0
S Aggiungere una linea in un form automaticamente PHP 1
S Data aggiornamento automaticamente cambiata HTML e CSS 0
L word: macro per mettere in corsivo automaticamente Windows e Software 4
I Outlook archivia automaticamente e si perde la posta Windows e Software 2
Oscar83 Si possono centrare automaticamente i CSS?? HTML e CSS 2
L confrontare automaticamente due liste excell Windows e Software 0
B Casella "Ricordami" o "Accedia automaticamente" in un form HTML e CSS 1
E Generare automaticamente links... PHP 5
S [VB .NET 2005] Compilare automaticamente un form .NET Framework 2
R caricare campi automaticamente da combo Classic ASP 7
F ridimensionare automaticamente Javascript 1
H Parte di un'immagine che al passaggio del mouse suona automaticamente Flash 1
J Aggiungi automaticamente il tuo sito a molti database SEO e Posizionamento 1
N Calcolare automaticamente un campo in una maschera Database 2
G Valore del campo id maggiore di 9999 MySQL 0
S da casella di testo a campo tabella Database 0

Discussioni simili