Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marathon: arriva il Fortnite hardcore
Marathon: arriva il Fortnite hardcore
Marathon è il titolo multiplayer competitivo del momento. Ecco quali sono le caratteristiche di gioco principali, insieme alle nostre prime considerazioni dopo qualche "run" nell'extraction shooter di Bungie
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
A New York HP ha messo al centro della scena HP IQ, la piattaforma di IA locale da 20 miliardi di parametri. L’abbiamo vista in funzione: è uno strumento che funziona, pensato per un target specifico, con vantaggi reali e limiti altrettanto evidenti
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è
La PNY GeForce RTX 5080 Slim OC si distingue nel panorama delle GPU di fascia alta per il design compatto a due slot, ispirato alla NVIDIA GeForce RTX 5080 Founders Edition. In questo test analizziamo comportamento termico e prestazioni in gioco, valutando se il formato ridotto comprometta o meno l'esperienza complessiva rispetto alle soluzioni più ingombranti presenti sul mercato.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-10-2007, 15:50   #1
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
[MySql](Ci riprovo...)Turni di lavoro...

Ehm.. riecchime.. e spero che questa volta qualcuno sappia indirizzarmi verso la retta via.. :

Allora, c'è una tabella(Lavorazione) composta (in sintesi) da:

ID,
ID_Persona,
ID_Mese (intero, viene memorizzato l'identificativo del mese di lavoro, ad esempio.. marzo come 3, ottobre come 10 etc..)

giorno(intero, che può memorizzare il giorno in forma numerica del mese in questione...)

C'è un'altra tabella chiamata turni, così composta:
ID,
ID_Persona,
lun
mar
mer
gio
ven
sab
dom

Dove nei giorni della settimana viene inserito il numero di ore lavorative assegnate alla persona.

Ora... la domandona, come sparo i dati memorizzati in 'turni' nella tabella 'lavorazione', rispettando l'ordine dei giorni?

Supponiamo per esempio che i turni siano:
lun = 2
mer = 3
gio = 5

dato che nella tabella lavorazione ho soltanto 'giorno' come faccio ?!?

Molte grazie a tutti!

RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2007, 10:10   #2
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
uppettino
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2007, 10:47   #3
yorkeiser
Senior Member
 
L'Avatar di yorkeiser
 
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
Non ho capito qual'è il problema. Se il problema è convertire le ore in giorni basta che fai sum(lun+mar+mer....+dom) / 8 (se 8 è il numero di ore lavorative giornaliere). Cmq vista così non mi pare molto geniale sta base dati: come fai a sapere a che giorno del mese corrisponde il campo lun? In un mese ci sono almeno 4 lunedì
__________________
Il sole è giallo
yorkeiser è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2007, 10:51   #4
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da yorkeiser Guarda i messaggi
Non ho capito qual'è il problema. Se il problema è convertire le ore in giorni basta che fai sum(lun+mar+mer....+dom) / 8 (se 8 è il numero di ore lavorative giornaliere). Cmq vista così non mi pare molto geniale sta base dati: come fai a sapere a che giorno del mese corrisponde il campo lun? In un mese ci sono almeno 4 lunedì
Ciao

Allora, nella tabella turni, non avrebbe senso sapere a che giorno del mese corrisponde il campo lun, nel senso che si indica solo il turno settimanale del lavoratore a prescindere dal mese. Altrimenti si dovrebbe creare una "settimana tipo" per ogni mese. La tabella turni serve solo ad indicare quante ore alla settimana deve fare la persona. Il problema sorge quando invece di riempire la tabella "lavorazioni" a mano, cioè inserendo manualmente le ore lavorative per il mese, si deve ottenere il riempimento automatico prendendo lo schema dai turni.

__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2007, 11:40   #5
yorkeiser
Senior Member
 
L'Avatar di yorkeiser
 
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
Non so cosa stai utilizzando per accedere alla base dati (php?) ma dovresti fare una cosa del tipo:

Codice:
select lun, mar, mer, gio, ven, sab, dom from turni where id_persona = TUO_ID
Il risultato lo memorizzi in un cursore e fai delle query di insert facendo il fetch di tale cursore:

Codice:
$lunedì = 15 (supponiamo che lunedì sia il 15 del mese)
$mese = 10 (ottobre)
$ID_PERSONA = ... //lo hai già tirato fuori in precedenza in base alla logica

insert into lavorazione values $ID, $ID_PERSONA, $MESE, $lunedì, $cursore.lun
insert into lavorazione values $ID, $ID_PERSONA, $MESE, $lunedì+1, $cursore.mar
insert into lavorazione values $ID, $ID_PERSONA, $MESE, $lunedì+2, $cursore.mer
$cursore.lun è una sorta di metalinguaggio che sto inventando adesso, ma è semplicemente il valore che hai memorizzato nel cursore aperto sulla query di select che hai fatto sulla tabella turni
__________________
Il sole è giallo
yorkeiser è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2007, 11:58   #6
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da yorkeiser Guarda i messaggi
Non so cosa stai utilizzando per accedere alla base dati (php?)
sto provando sia in C# che in Java, php non lo conosco

Quote:
Codice:
select lun, mar, mer, gio, ven, sab, dom from turni where id_persona = TUO_ID
fin qui ci sono

Quote:
Il risultato lo memorizzi in un cursore e fai delle query di insert facendo il fetch di tale cursore:

Codice:
$lunedì = 15 (supponiamo che lunedì sia il 15 del mese)
$mese = 10 (ottobre)
$ID_PERSONA = ... //lo hai già tirato fuori in precedenza in base alla logica

insert into lavorazione values $ID, $ID_PERSONA, $MESE, $lunedì, $cursore.lun
insert into lavorazione values $ID, $ID_PERSONA, $MESE, $lunedì+1, $cursore.mar
insert into lavorazione values $ID, $ID_PERSONA, $MESE, $lunedì+2, $cursore.mer
$cursore.lun è una sorta di metalinguaggio che sto inventando adesso, ma è semplicemente il valore che hai memorizzato nel cursore aperto sulla query di select che hai fatto sulla tabella turni
mmm... cursore.. perdonami, ma non riesco a capire
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2007, 12:04   #7
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Provo a mettere il tutto in forma 'grafica' per spiegarmi meglio:

su di un form, una volta scelto il mese, ottengo una griglia formata da tante righe quanti sono i giorni del mese scelto; supponiamo febbraio 2007:
Codice:
ID_Giorno,     Numero Giorno     Ore
gio               1                      2.5
ven              2
sab              3
dom             4
lun               5
mar              ....blabla
mer
gio
ven
sab
dom
...blabla
Nella colonna ore vengono inserite manualmente le ore appunto....

Io invece dovrei riempire la griglia prendendo le ore presenti nella tabella turni...
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2007, 12:15   #8
yorkeiser
Senior Member
 
L'Avatar di yorkeiser
 
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
In Java:

Codice:
//QUESTI PARAMETRI ARRIVANO DALLA LOGICA DEL PROGRAMMA
int id = <ID>
int idpersona = <ID_PERSONA>
int mese = 10; //ottobre
int lunedi = 15; //lunedì 15 ottobre
int turni[] = new turni[7];

Connection c = DriverManager.getConnection(...);
Statement st = c.createStatement();
ResultSet rs=null;

rs = st.executeQuery("select lun, mar, mer, gio, ven, sab, dom from turni where id_persona = "+idpersona);
if (rs.next()) {
turni[0]=rs.getInt("LUN");
turni[1]=rs.getInt("MAR");
turni[2]=rs.getInt("MER");
[...]
turni[6]=rs.getInt("DOM");
}
//fin qui hai caricato i risultati del resultset nell'array turni[]

for (int i=0; i<7; i++)
{
    if (turni[i]>0) //se in quel giorno il dipendente ha lavorato
        st.execute("INSERT INTO LAVORAZIONE VALUES ( " + id + ", " + idpersona + ", "  + mese + ", "+ lunedi+i +", " + turni[i] + ")"
}
Spero fosse quello che ti interessava, ovviamente è solo lo scheletro, mancano vari controlli e la logica esterna
__________________
Il sole è giallo
yorkeiser è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2007, 12:16   #9
0rph3n
Senior Member
 
L'Avatar di 0rph3n
 
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960

praticamente nella tabella turni è memorizzata, per ogni persona la somma delle ore lavorate per ogni giorno della settimana?
cioè nella colonna lun c'è la somma delle ore lavorate in tutti i lunedì del mese, nella colonna mar c'è la somma delle ore lavorate in tutti i martedì del mese e così via?
0rph3n è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2007, 12:22   #10
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da 0rph3n Guarda i messaggi

praticamente nella tabella turni è memorizzata, per ogni persona la somma delle ore lavorate per ogni giorno della settimana?
cioè nella colonna lun c'è la somma delle ore lavorate in tutti i lunedì del mese, nella colonna mar c'è la somma delle ore lavorate in tutti i martedì del mese e così via?
Ciao

No, non è la somma, indica solo il lunedi quante ore deve lavorare, cioè, se ci sono 3 ore, vuol dire che ogni lunedi del mese quella persona deve fare 3 ore di lavoro.

@Yorkeiser: provo a ragionare sul tuo esempio in Java
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è PNY RTX 5080 Slim OC, sembra una Founders Editio...
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei Wi-Fi 7 con il design di una vetta innevata: ecc...
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte Core Ultra 7 270K Plus e Core Ultra 7 250K Plus:...
Warhorse Studios sostituisce i traduttor...
Ecco perché in tanti stanno comprando Ap...
Intesa Sanpaolo, multa da 31,8 milioni d...
Stellantis, rinnovo di 5 anni con Palant...
Google Pixel 11 si mostra nei render CAD...
Xbox Games Showcase torna a giugno con u...
OPPO fissa l'evento Find X9 Ultra: tutto...
Apple porta la pubblicità in Maps...
BYD ha licenziato 100.000 persone nel 20...
FRITZ!Box 5690 Pro a 275€ e il nuovo FRI...
I segreti dei 2 nanometri di TSMC rubati...
CMF Buds 2 vs Nothing Ear (a): due auric...
Microonde e friggitrici ad aria con supe...
Amazon Haul: bestseller a -40% acquistan...
C'è ancora spazio per gli iMac: &...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:09.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v