Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto
be quiet! debutta nel settore mouse da gaming con Dark Perk Ergo e Dark Perk Sym: due modelli gemelli per specifiche, con polling rate di 8.000 Hz anche in wireless, sensore PixArt PAW3950 da 32.000 DPI e autonomia dichiarata fino a 110 ore. Nel test, a 8.000 Hz si arriva a circa 30 ore reali, con ricarica completa in un'ora e mezza
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-10-2007, 16: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, 11: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, 11: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, 11: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, 12: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, 12: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, 13: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, 13: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, 13: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, 13: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


Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequen...
Lo spettacolo pirotecnico della Xiaomi S...
Black Myth: Wukong potrebbe approdare su...
Aruba e Ducati: la Superbike come labora...
Qualcomm vola nei conti, ma l'industria ...
F1: The Movie, Apple e Formula 1 aprono ...
Amazon Seconda Mano: arriva il 10% extra...
Sysmon diventa nativo su Windows 11: com...
Come aggiornare il PC risparmiando: Amaz...
Amazon testa l'utilizzo dell'AI per film...
BMW i3 Neue Klasse: la berlina elettrica...
Changan Nevo A06 è la prima auto ...
Sony annuncia: sono state vendute ben 92...
Alphabet chiude il 2025 con ricavi annua...
Terribile incidente in Cina, ecco perch&...
Quali sono gli smartphone più potenti a ...
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: 12:50.


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