MRW.it Forum
  • Home
  • Forum
  • Fare Web
  • PHP

Numerare automaticamente campo numerico

  • Creatore Discussione Creatore Discussione Max61
  • Data di inizio Data di inizio 9 Nov 2015
Prec.
  • 1
  • 2
Primo Prec. 2 di 2
T

The-Night

Utente Attivo
18 Ott 2015
59
0
6
  • 11 Nov 2015
  • #21
ma hai messo il $ nel nome della colonna?
 
Ad
T

The-Night

Utente Attivo
18 Ott 2015
59
0
6
  • 11 Nov 2015
  • #22
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ì.
 
M

Max61

Utente Attivo
2 Mar 2014
760
4
18
  • 11 Nov 2015
  • #23
Ecco il database
Vedi l'allegato gestionesinistri.zip

Ciao
 
T

The-Night

Utente Attivo
18 Ott 2015
59
0
6
  • 11 Nov 2015
  • #24
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.205
207
63
Lombardia
  • 11 Nov 2015
  • #25
Max61 ha scritto:
Ecco il database
....
Ciao
Clicca per allargare...

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: 11 Nov 2015
M

Max61

Utente Attivo
2 Mar 2014
760
4
18
  • 12 Nov 2015
  • #26
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: 12 Nov 2015

marino51

Utente Attivo
28 Feb 2013
3.205
207
63
Lombardia
  • 12 Nov 2015
  • #27
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
 
M

Max61

Utente Attivo
2 Mar 2014
760
4
18
  • 12 Nov 2015
  • #28
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.205
207
63
Lombardia
  • 12 Nov 2015
  • #29
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: 12 Nov 2015
M

Max61

Utente Attivo
2 Mar 2014
760
4
18
  • 12 Nov 2015
  • #30
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.205
207
63
Lombardia
  • 12 Nov 2015
  • #31
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
 
M

Max61

Utente Attivo
2 Mar 2014
760
4
18
  • 12 Nov 2015
  • #32
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
 
M

Max61

Utente Attivo
2 Mar 2014
760
4
18
  • 25 Nov 2015
  • #33
Max61 ha scritto:
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
Clicca per allargare...


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: 25 Nov 2015
Prec.
  • 1
  • 2
Primo Prec. 2 di 2
Devi accedere o registrarti per poter rispondere.

Discussioni simili

M
Numerare automaticamente campo numerico con più parametri
  • Max61
  • 27 Nov 2015
  • PHP
Risposte
4
Visite
1K
PHP 30 Nov 2015
Max61
M
  • Bloccata
[PHP] Numerare automaticamente
  • Gentacti
  • 5 Apr 2019
  • PHP
Risposte
2
Visite
1K
PHP 5 Apr 2019
Gentacti
S
[PHP] Eliminare doppioni array e rinumerare le posizioni
  • samurai.sette
  • 25 Set 2019
  • PHP
Risposte
2
Visite
2K
PHP 25 Set 2019
samurai.sette
S
T
[risolto] numerare progressivamente i record estratti da un dbase
  • Toscano
  • 8 Apr 2014
  • Classic ASP
Risposte
4
Visite
2K
Classic ASP 9 Apr 2014
Paolo69
F
Aggiungere automaticamente sito a home del telefono
  • frapej
  • 25 Mag 2020
  • HTML e CSS
Risposte
2
Visite
2K
HTML e CSS 9 Giu 2020
MarcoGrazia
G
inserire dati automaticamente in mysql
  • GioTeck
  • 12 Mag 2020
  • PHP
Risposte
0
Visite
1K
PHP 12 Mag 2020
GioTeck
G
M
[PHP] Compilare automaticamente il campo data
  • Max61
  • 14 Nov 2019
  • PHP
Risposte
5
Visite
2K
PHP 21 Apr 2020
marino51
L
[PHP] Form da select compilare campi automaticamente
  • Lucas1
  • 11 Mar 2019
  • PHP
Risposte
1
Visite
3K
PHP 11 Mar 2019
Max 1
L
[MS Access] come popolare automaticamente i campi di una sottomaschera
  • luigi.ventre
  • 7 Lug 2018
  • MS Access
Risposte
8
Visite
10K
MS Access 9 Lug 2018
luigi.ventre
L
[PHP] blocchi div che si posizionano in alto automaticamente
  • trattorino
  • 23 Lug 2016
  • PHP
Risposte
5
Visite
1K
PHP 24 Lug 2016
trattorino
[PHP] Eliminare record automaticamente dopo una certa data
  • asevenx
  • 25 Giu 2016
  • PHP
Risposte
12
Visite
4K
PHP 15 Lug 2016
marino51
refresh di un div automaticamente
  • Lucia Fiore
  • 16 Mag 2016
  • Javascript
Risposte
2
Visite
3K
Javascript 17 Mag 2016
Lucia Fiore
M
diminuire automaticamente grandezza input tabella
  • Marco de Giusti
  • 24 Mar 2016
  • Javascript
Risposte
5
Visite
2K
Javascript 27 Mar 2016
criric
Pubblicare automaticamente un articolo da linkedin su blog wordpress
  • asevenx
  • 15 Dic 2015
  • WordPress
Risposte
1
Visite
2K
WordPress 17 Dic 2015
glm1986ITALY
A
app che apre automaticamente il bluetooth e connette automaticamente il dispositivo
  • alemasc
  • 21 Mag 2015
  • Sviluppo app per Android
Risposte
3
Visite
4K
Sviluppo app per Android 25 Mag 2015
michelep
M
Inserire automaticamente il nome di un'immagine in una variabile di tipo stringa
  • marcellino247
  • 4 Mag 2015
  • Sviluppo app per Android
Risposte
1
Visite
2K
Sviluppo app per Android 5 Mag 2015
michelep
Correggere automaticamente caratteri strani (rumbo con punti interrogativi)
  • asevenx
  • 25 Mar 2015
  • HTML e CSS
Risposte
9
Visite
5K
HTML e CSS 26 Mar 2015
BayLollo
B
N
FPDF stampare pdf automaticamente su stampante impostata
  • nicopres
  • 26 Nov 2014
  • PHP
Risposte
0
Visite
4K
PHP 26 Nov 2014
nicopres
N
G
Aggiornare colonna tabella automaticamente in MysQl
  • Garaux
  • 25 Lug 2014
  • PHP
Risposte
2
Visite
2K
PHP 28 Lug 2014
Garaux
G
L
Realizzare script con grafico e tabelle che si aggiornano automaticamente
  • lorenzo84
  • 18 Lug 2014
  • jQuery
Risposte
1
Visite
1K
jQuery 18 Lug 2014
marino51
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?