Ciao, sono Angela e, anche se questo è il mio primo post, vi seguo da un pò e ho imparato molto da qui. Come vedrete tra poco, non sono molto esperta ma finora con l'aiuto di vari siti e forum ho risolto tutti i problemi. Tuttavia il seguente problema non so come risolverlo...chiedo il vostro aiuto ringraziandovi fin d'ora.
Ho creato il seguente db in mysql "db_listini" che contiene i seguenti campi:
listino ------> nome listino
tip_cli -------> tipologia cliente (Azienda/Privato)
can_pc -------> Valore numerico, canone per pc
canone_mens -------> Valore numerico, canone mensile
sc_can_pc --------> valore numerico, sconto canone pc
sc_can_mens --------> valore numerico, sconto canone mensile
min_pc_ric -------> valore numerico, minimo pc richiesti
max_pc_ric -------> valore numerico, massimo pc richiesti
c_f_int_citta -------> valore numerico, costo fisso intervento in città
c_o_int_citta -------> valore numerico, costo orario intervento in città
c_f_fuo_citta -------> valore numerico, costo fisso intervento fuori città
c_o_fuo_citta -------> valore numerico, costo orario intervento fuori città
num_pc_nec -------> valore SI o NO* ---->se SI significa che num_pc inserito dal
cliente è fondamentale per prendere in
considerazone questo listino
num_int_citta_nec -------> valore SI o NO*
dur_int_citta_nec -------> valore SI o NO*
num_inf_fuori_nec -------> valore SI o NO*
dur_int_fuori_nec -------> valore SI o NO*
Praticamente nel database saranno inseriti i vari listini per il servizio offerto dall'azienda.
* questi campi devono avere un valore pari a SI o NO ed indicano se l'inserimento di quei dati è fondamentale per il calcolo del costo totale per quel listino.
Esempio: se io inserisco un listino che prevede di un canone in base ai pc in manutenzione, è necessario che il cliente inserisca il numero dei pc nella maschera di inserimento. in tal caso il valore nel campo num_pc_nec è impostato su SI e se il cliente non inserisce il numero, tale listino viene automaticamente escluso nella selezione dei risultati.
Sul sito, invece, inserirò una maschera per l'inserimento dei dati con i seguenti campi:
tip_cli ------> tipologia cliente (privato o azienda)
num_mesi_fatt ------> numero da 1 a 12 pari ai mesi di fatturazione
num_pc ------> numero pc in manutenzione
num_int_citta ------> numero interventi in città
dur_int_citta ------> durata, in ore, degli interventi in città
num_int_fuori ------> numero interventi fuori città
dur_int_fuori ------> durata, in ore, degli interventi fuori città
Di questi campi, l'unico obbligatorio è tip_cli
Il mio GRANDE problema, e davvero sono molto grata se riuscite ad aiutarmi, arriva ora.
Il cliente inserisce i dati sul sito, li invia, e dovrebbe ricevere le 3 soluzioni più convenienti (nome listino e costo totale)
Quindi, i dati inviati permettono di calcolare il costo totale per ogni listino inserito nel db_listini secondo la seguente formula:
(c_o_int_citta * dur_int_citta) + (c_f_int_citta * num_int_citta) +
(c_o_int_fuori * dur_int_fuori) + (c_f_int_fuori * num_int_fuori) +
(can_pc * num_pc * num_mesi_fatt) + (can_mens * num_mesi_fatt) -
(sc_can_pc * num_pc * num_mesi_fatt) - (sc_can_mens * num_mesi_fatt)
A questo punto, ottenuto il costo totale, devo selezionare i 3 listini col costo più basso tenendo presente che devono essere esclusi:
- i listini con tip_cli diversa (ad es se inserisco azienda devono essere esclusi i listini privati)
- i listini che non soddisfano il minimo e il massimo dei pc richiesti (min_pc_ric e max_pc_ric). (ad es se un listino è valido per pc minimo 3 e massimo 10 e un cliente ne inserisce 1 o 12, tale listino non può essere preso in considerazione)
- i listini che richiedono determinati dati non inseriti dal cliente (ad es se per un listino è necessario sapere il num_pc e il cliente non inserisce quel dato, quel listino deve essere escluso)
N.B.: 0 non equivale a valore non inserito ma per valore non inserito il cliente deve lasciare il campo vuoto, come di default
So che la cosa è abbastanza confusa e spero di essere stata chiara....quello che vi chiedo è di aiutarmi ad andare avanti. Io ora sono bloccata alla maschera di inserimento dati. Cosa dovrei fare? Tipo...invio i dati in una nuova tabella? e poi? come si effettuano i calcoli? Spero riusciate a darmi delle dritte. Grazie in anticipo
![]()