formato numerico del campo

Raccoglitore di domande e risposte relative a ScriptCase, il generatore di codice php per lo sviluppo rapido di applicazioni.
Regole del forum
Nel forum è vietato fare pubblicità senza avere l'autorizzazione dello staf di Netspecial.
Rispondi
mhanu70
Messaggi: 178
Iscritto il: 18 nov 2015, 16:55

formato numerico del campo

Messaggio da mhanu70 » 07 lug 2016, 10:52

Buongiorno.
in un form faccio questa operazione nell'evento onvalidate:

if({data_1} != 'null') {

$giorni= sc_date_dif({data_1}, "aaaa-mm-dd",{data_2}, "aaaa-mm-dd");
{linea} = $giorni/30;
}

perchè mi serve il risultato in mesi e non giorni. A me va bene un numero di mesi con due decimali, quindi ho messo il campo {linea} nel db come DECIMAL(5,2) che mi consente anche un 999.99

Se dentro SC imposto il campo {linea} come numero non ho problemi e nel db viene registrato il valore arrotondato alla seconda decimale (e mi va bene) ma nel form vedo solo l'intero senza decimali (e non mi va bene).
Se invece dentro SC imposto il campo {linea} come decimale il form mi da errore quando cerco di salvare (onvalidate) e mi appare un pop up con questo:

Incorrect decimal value: '8,6' for column {linea} at row....
come se cercasse di scriverlo con la virgola, cosa che mysql non accetta....
cosa sto sbagliando?

Grazie come sempre

Fabio
Messaggi: 449
Iscritto il: 20 feb 2014, 11:43

Re: formato numerico del campo

Messaggio da Fabio » 07 lug 2016, 11:06

Buongiorno, impostalo semplicemente come "testo".
In fondo alle caratteristiche del campo puoi anche disabilitare alcuni caratteri, come quelli diversi da numeri e punti.

mhanu70
Messaggi: 178
Iscritto il: 18 nov 2015, 16:55

Re: formato numerico del campo

Messaggio da mhanu70 » 07 lug 2016, 11:11

ha funzionato.

Grazie mille :D

rino
Messaggi: 661
Iscritto il: 18 giu 2015, 15:42
Località: Pinerolo
Contatta:

Re: formato numerico del campo

Messaggio da rino » 07 lug 2016, 13:54

Scusa ma una if con 'null' è errata , in questo modo testi la stringa null e nopn un campo nullo . per testare un campo nullo si una un altra if : is_nul() oppure === NULL (tre = e parola chiave NULL).

Per avere il numero mesi di differenza tra due date esiste sc_diff_2() che funziona bene e risolve anche i 31 e 28.
Usando la divisione per 30 usi il "mese commerciale" che ha un uso obsoleto e limitatissimo, tanto vale usare il mese mariano :mrgreen: .
Rino Lo Turco
Consulente Informatico; Analista e Sviluppatore; ex IT Manager; Cons. Direzionale di Organizzazione; Consulente Tecnico legale; Esperto protezione dati personali; Internet Service Provider
felice utente e fruitore di ScriptCase

mhanu70
Messaggi: 178
Iscritto il: 18 nov 2015, 16:55

Re: formato numerico del campo

Messaggio da mhanu70 » 07 lug 2016, 15:26

ok, grazie.
non lo sapevo.
comunque nel mio caso mi serve il numero di mesi espresso in forma decimale tipo:
5.3 mesi gruppo A oppure 8.4 mesi gruppo B
perchè devo esprimere delle differenze tra gruppi sperimentali e di controllo.
con date_diff2 mi sembra che devo mettere i 3 valori (mesi, giorni, anni) in 3 campi separati..o al limite concatenarli, ma il mio obiettivo è ottenere un decimale che rappresenti il numero di mesi

nel mio caso l'approssimazione dividendo per 30 è assolutamente compatibile con i miei scopi.

Grazie

rino
Messaggi: 661
Iscritto il: 18 giu 2015, 15:42
Località: Pinerolo
Contatta:

Re: formato numerico del campo

Messaggio da rino » 07 lug 2016, 16:51

ottimo, ricorda solo la if sul null che spesso genera casini , tra l altro null è diverso da empty (vuoto)
Rino Lo Turco
Consulente Informatico; Analista e Sviluppatore; ex IT Manager; Cons. Direzionale di Organizzazione; Consulente Tecnico legale; Esperto protezione dati personali; Internet Service Provider
felice utente e fruitore di ScriptCase

mhanu70
Messaggi: 178
Iscritto il: 18 nov 2015, 16:55

Re: formato numerico del campo

Messaggio da mhanu70 » 09 lug 2016, 13:54

É vero hai ragione. Ho avuto un caso simile in un altro form.
In pratica quale é l if corretto da fare nel caso in cui un campo nel db non esista ancora?
Se ad esempio il campo {data} non esiste ancora perché la tupla non é stata ancora creata, allora null immagino sia sbagliato.

rino
Messaggi: 661
Iscritto il: 18 giu 2015, 15:42
Località: Pinerolo
Contatta:

Re: formato numerico del campo

Messaggio da rino » 10 lug 2016, 12:42

fai una if in relazione .or. cosi testi tutte le possiibli condiizoni alternative.
nel caso di form la variabile in inserimento esiste sempre, puoi anche inizializzarla , insomma hai tante vie
Rino Lo Turco
Consulente Informatico; Analista e Sviluppatore; ex IT Manager; Cons. Direzionale di Organizzazione; Consulente Tecnico legale; Esperto protezione dati personali; Internet Service Provider
felice utente e fruitore di ScriptCase

Rispondi

Chi c’è in linea

Visitano il forum: Ahrefs [Bot] e 5 ospiti