creare checklist (gestione attivita) per ufficio.

italo_pm

Nuovo Utente
21 Ago 2014
12
0
0
ciao ragazzi, vorrei creare il seguente form di inserimento per diverse checklist (gestione attivita) in ufficio.

ho solo creato il form in excel (vb) per darvi un idea (e quindi non mi aspetto un form con sfondo grigio o bordi divisori, son che con css posso fare qualcosa, basta forse un solo frame) di quello che sto cercando di creare con php (ajax o javascript o jquery altro) e con mysql vorrei vostri consigli e suggerimenti, il form è il seguente:

b3q6pw.png


in rosso, sono tutti campi che dovrano essere "popolati" in automatico in base all'orario (attivita) scelto e in fondo (in basso) la cronologia di tutte le attivita inserite durante la giornata

il form "Ora" al momento di cliccare o selezionare la fascia oraria deve popolare in automatico i campi in rosso ovvero form "ora attivita", "attivita", "note attivita", "giorno", "link-proc (apre un pdf o word)", che non sono modificabili, e scegliere in "stato - priorita ticket (stato OK in default e priorita bassa in default)", qui dovrò gestire checkbox e radiobutton per bloccare e abilitare a seconda dell'opzione (default con "check" in checkbox e radiobotton stato OK e priorita bassa) solo se si sceglie stato KO drovànno attivarsi un radiobutton priorita media o alta

inoltre abilitare l'inserzione sui campi in verde ovvero form "giorno-data", "priorita ticket (se KO abilitare checkbox con priorita Media o Alta)", "note operatore", "N. Ticket", "Firma operatore".

in blu, opzione Insert, dovra inserire tutti i campi al db, sia quelli con i dati in automatico, che quelli inseriti manualmente.

opzione Cancel, ripristino tutti i campi senza salvare.

in alto (in arancione) ci sono tutte le tipologie di checklist che seguono la stessa logica della prima (giornata), in versione web sicuramente le mettero in forma di menu di navigazione in alto oppure a sinistra...

sono alle prime armi con php e mysql, parto da livello base (ho letto diverse guide in internet) , so che devo creare un database relazionale, solo che non so come legare tutte le primary key o indici o relazionare i campi per fare quello che voglio.

se gentilmente qualcuno puo dirmi come iniziare, grazie in anticipo, non chiedo tutto il codice, se mi aiutare a capire la logica e due righe...

grazie in anticipo.

Saluti
 

Enrico Chinaglia

Nuovo Utente
22 Ago 2014
4
0
0
Ciao in definitiva ti servirebbero delle linee guida da cui partire per il tuo progetto?
Il database l'hai già strutturato?
 

italo_pm

Nuovo Utente
21 Ago 2014
12
0
0
ciao Enrico, grazie per la risposta.

si, mi serve info per capire come impostare il form, sicuramente dovrò gestire 2 form uno per la creazione/definizione "Attività" e un'altro per la creazione dei ticket "Ticket"

per il database quindi (penso) mi servono 2 tabelle (giusto??) esempio:

- tab_attivita ==> per la creazione/modifica delle attivita.

t_attivita
ENGINE=InnoDB DEFAULT CHARSET=utf8
---
id_attivita // id x attivita
tipo:
PRIMARY KEY (id_attivita)
int(8) not null auto_increment
----

stato_attivita // stato attivita [checkbox]
tipo: varchar(20)
NULL: NO
valori:

stato OK
stato KO
---

prioria_attivita // priorita attivita [radiobutton]
tipo: varchar(50)
NULL: NO
valori:

priorita bassa
priorita media
priorita alta

----
tipo_checklist_attivita // tipo checklist [dropbox]
tipo: varchar(100)
NULL: NO
valori:

giornata
mattina open
sera open
sera open
sera host
rete critiche
notturno
domenica

----
freque_attivita // giorno/frequenza [dropbox]
tipo: varchar(100)
NULL: NO
valori:

TUTTI
Lun - Ven
Lun - Sab
Dom - Gio
Sabato
Domenica
----

note_attivita // note attivita | [textbox]
tipo: varchar(1000)
NULL: SI
------

fascia_attivita // fascia ora [textbox] // 07.00 - 08.00
tipo: varchar(50)
NULL: NO
------

desc_attivita // descrizione attivita [textbox]
tipo: varchar(250)
NULL: NO
------

data_attivita // Giorno - data attivita (quando si crea nuova attivita.) [data/textbox] // GG/MM/YYYY
tipo: DATE
NULL: NO
------

attach_attivita // per allegare la documentazione (percorso proc_link) [textbox] // percorso documentazione
tipo: varchar(100)
NULL: SI
------

firma_operatore_ticket // firma (nome operatore) (quando si crea l'attivita [textbox]
tipo: varchar(100)
NULL: NO

- tab ticket ==> per la creazione/inserimento ticket.

t_ticket
ENGINE=InnoDB DEFAULT CHARSET=utf8
---
id_ticket INT(8) NOT NULL, // id x ticket
id_attivita INT(8) NOT NULL, // id x attivita
PRIMARY KEY (id_ticket,id_attivita),
int(8) not null auto_increment
FOREIGN KEY (id_attivita) REFERENCES t_attivita(id_attivita)

----

note_operatore_ticket // note operatore [textbox]
tipo: varchar(1000)
NULL: SI
------

num_ticket // numero ticket [textbox]
tipo: varchar(30)
NULL: NO
------

firma_operatore_ticket // firma (nome operatore) (quando si crea il ticket)[textbox]
tipo: varchar(100)
NULL: NO
------

data_ticket // Giorno - data ticket [data] (quando si crea il ticket) [data/textbox] // GG/MM/YYYY
tipo: DATE
NULL: NO

secondo voi hanno logica le due tab??? se qualcuno può gentilmente illuminarmi, sicuramente avrò bisogno di aiuto per la gestione dei checkbox e radiobotton (check in default, disabled a base alla scelta, passare il valore alle variabili)


grazie in anticipo.
Saluti
 

Enrico Chinaglia

Nuovo Utente
22 Ago 2014
4
0
0
Ciao prima di tutto ti consiglio di installare Mysql Workbench (scaricabile da qui http://www.mysql.it/products/workbench/), è utile per strutturare il db e ti da una mano con le chiavi e le foreign key.
Il db (ora non ho chiarissimo lo scopo dell'applicazione) secondo me è da modificare mi spiego.. prendiamo ad esempio i ticket prima di tutto le chiavi (id) devono essere autoincrement, la data di tipo datetime, num_ticket lo farei int non varchar e note operatore text (dipende da quello che ci devi scrivere).
Immagino che gli operatori abbiano dei dati quindi creerei una tabella operatori con ad esempio questi dati:
id_operatore
nome_operatore
cognome_operatore
.....
e legherei l'id dell'operatore di questa lista ad un nuovo campo di tipo int nella tabella dei ticket con una FK.
Per quanto riguarda le checkbox prova a vedere se questo ti è utile: http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_input_checked

Ciao
 

italo_pm

Nuovo Utente
21 Ago 2014
12
0
0
ciao Enrico grazie per la risposta, effettivamente siamo Operatori in un Ced, quindi devo creare una tabella per i nomi, ok, ma a questo punto ho un dubbio, come gestire la parte "controlli priorita"

sono valori che non cambieranno, cioè:

Stato OK [checkbox] default checked (viene disattivato e unchecked solo se Stato KO selezionato)
Stato KO [checkbox] default enabled, no checked
Priorita bassa [radiobotton] default checked (viene disattivato e uncheked solo se Stato KO selezionato)
Priorita media [radiobotton] default desabled, si attiva solo se Stato KO selezionato
Priorita alta [radiobotton] default desabled, si attiva solo se Stato KO selezionato

sono campi che servonno solo al momento di creare una nuova attivita e un nuovo ticket, quindi mi chiedo se serve creare una tabella per questi (perche "controlli) oppure visto che vengono usati solo per insert gestirli da php o html direttamente creando i valori da li e dopo passarli a la query per l'insert, cosi non creo tabelle inutili.

ho pensato qualcosa con senso??

grazie per il tool ma in ufficio non possiamo instalare nulla, c'è una versione online per "graficare" mysql, tabelle etc etc??

grazie ancora.

saluti
 

Enrico Chinaglia

Nuovo Utente
22 Ago 2014
4
0
0
Ciao secondo me non ha assolutamente senso creare una tabella a parte, gli stati li definisci in un campo di tipo bool e volendo il radiobutton lo metti come int (1) dove consideri 3 valori 0,1,2.. questi campi andranno nella tabella dei ticket.
Ti chiedo una cortesia per capire meglio il tuo progetto... io ho fatto qualcosa del genere tempo fa dimmi se può fare al caso tuo:
Un utente (registrato quindi previo accesso login / password) accede su una pagina di inserimento ticket, compilerà tutti i campi necessari per la segnalazione che arriverà (immagino) a voi del ced.
A questo punto primo problema, la segnalazione deve arrivare a tutti o a qualcuno in particolare? Nel caso volessimo inviare la segnalazione in base al guasto avremo quindi bisogno di creare anche una lista di "destinatari" e delle categorie di appartenenza in modo da associare il problema ad una persona (o gruppo).
Una volta ricevuto il ticket lo prendete in carico e poi vorreste mettere una risposta sul ticket o contattate direttamente la persona?
Intanto partiamo da qua..

Per quanto riguarda la tecnologia da utilizzare vista l'implementazione molto veloce e funzionale io utilizzerei jQuery, magari implementandolo con le sue UI . Sai di cosa si tratta?
Scusa ma se non ho ben chiara la procedura ho difficoltà a risponderti.
 

italo_pm

Nuovo Utente
21 Ago 2014
12
0
0
ciao, grazie per la risposta, allora i ticket vengo gestiti con altro prodotti, noi prendiamo il numero ticket e lo mettiamo al momento su carta (quindi un checklist stampata da word, con le colonne etc etc) per una gestione interna di "sala macchina". quindi dietro non c'è ne un db, ne excel ne access, solo un word che poi raccogliamo e archiviamo (fisicamente), per dare un "punto" moderno volevo mettere qualcosa di semplice ma effettivo, quindi al massimo avere una "cronologia" dei "ticket" inseriti, che per noi vuol dire:

1) apro/chiedo il ticket dal prodotto X (bmc remedy) e quel numero di ticket lo metto in una casella su un foglio word (stampato), giornaliera (quindi tutti i tipo di checklist) finita la checklist l'archivio sul vassoi (fisico) stop, quindo volevo portare la versione stampata sul "web" ...







data ___________________________


ProceduraAttivitaOraGiornoTicket n°Priorità TicketOKKO
PROC_A1Controllo_Dimensioni_DB_Disco_M (Controllare se "byte free" inferiore a 17.000.000.000)07.00 - 08.00Lun-VenBASSA/MEDIA/ALTA
PROC_A2MIL-YY-CPRST-01 (INFRASTRUTTURA STAMPE)08.00 - 09.00Mar-GioBASSA/MEDIA/ALTA
PROC_A3MIL-ZZ-CPRST-02 (INFRASTRUTTURA STAMPE)09.00 - 10.00TuttiBASSA/MEDIA/ALTA
PROC_A4MIL-MM-CPRST-03 (INFRASTRUTTURA STAMPE)10.00 - 11.00Lun-SabBASSA/MEDIA/ALTA

firma ___________________________


la checklist è fatta così... (struttura fatta per tutti i tipi) quindi vorrei convertirla e gestirla dal web, sicuramente php e jquery fa il caso... solo che mi serve "una spinta" , per il momento ho creato un db e riesco a fare l'insert da php....sto leggendo il forum e diversi tutto per sapere il resto...

grazie ancora..

saluti
 

Enrico Chinaglia

Nuovo Utente
22 Ago 2014
4
0
0
Ok, ti riporto qui un esempio:
Prendiamo in considerazione una pagina che chiameremo client ed una pagina che chiameremo server, la pagina client sarà la nostra interfaccia e la pagina server gestirà le richieste, i controlli ecc.. ed andrà ad inserire i dati sul db.

----------client.html

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" ></script>
<input type="text" id="mioCampo1"/>
<input type="text" id="mioCampo2"/>
<input type="button" onclick="salvaTutto()"/>

<script>
function salvaTutto()
{
$.ajax({
type: "POST",//modalità di invio delle variabili
url: "serverPage.php",//percorso della pagina server
data: {valoreMioCampo1: $("#mioCampo1").val(), valoreMioCampo2: $("#mioCampo2").val()},//variabili da inviare
dataType: "html",
complete: function(sMessage, sStatus)//quando ha completato l'invio..
{
alert(sMessage.responseText);
// Puoi fare un alert di quello che ti restituirà la pagina server
}
});
}
</script>

------------serverPage.php

<?php
print_r($_POST);
//RESTITUISCE I VALORI DELLE VARIABILI INVIATE DALLA PAGINA CLIENT
?>

Ovviamente alla pagina server devi far eseguire tutte le attività del caso tra cui ovviamente l'inserimento dei dati su Sql.

Per semplificarti la vita nella pagina client prova a vedere anche la funzione http://api.jquery.com/serializearray/ in m odo da inviare in blocco tutte le variabili di un form.

Un altro consiglio.. includi Bootstrap nel tuo progetto.. http://getbootstrap.com/ da qui http://bootswatch.com/yeti/ puoi trovare anche dei temi già fatti.

Spero di esserti stato utile.
 

italo_pm

Nuovo Utente
21 Ago 2014
12
0
0
grazie per la risposta Enrico.

farò due tabelle, una per la creazione/definizioni delle attività, un'altra per l'inserimento dei ticket. i campi del checkbox e radiobotton (stato, priorita) li metterò nel file php e prenderò i valori per l'insert al db, continuerò a leggere vari tutorial e esempi per PHP, MySQL, serializearray e JQuery.

grazie ancora per la disponibilità.

Saluti.
 

italo_pm

Nuovo Utente
21 Ago 2014
12
0
0
ciao ragazzi, sto provando come suggerito da Enrico il uso per lo script di serializearray e JQuery.

sono riuscito a fare l'insert al db con i dati presso dal form, ho deciso di mettere il campo per la data di tipo datatime , ed eseguo l'insert di questo campo in automatico con NOW() , al db mi inserisce questo:

2014-09-04 08:40:56

solo che scrive l'ora del hosting, come posso fare per l'insert in automatico con l'ora del pc o corrente del sistema???

inoltre, in che maniera posso formattare in GG/MM/YYYY HH:MM

visto che quando eseguo la select scrivo Select * from `tabella` e poi valorizzo i campi con il risultato.

grazie in anticipo!

Italo.
 

marino51

Utente Attivo
28 Feb 2013
3.041
192
63
Lombardia
la data nel formato aaaa/mm/gg nel database
è il formato giusto per facilitare le ricerche,
prova a pensare ad una query con "trova gli elementi con data > di"
oppure "trova gli elementi compresi tra le date ....",
se il formato fosse quello convenzionale, richiederebbero conversioni varie

mentre per localtime e la formattazione da presentare, ti ho preparato un breve esempio,
basato sulle mie conoscenze,
$dt contiene data e ora corrente
$dt_f contiene gli stessi valori nel formato 'Y-m-d H:i:s'
mentre DateCalc ti converte la data che gli passi dal formato precedente in formato 'd-m-Y H:i:s'
questa funzione ti consente anche calcoli sulle date passando il parametro adeguato,
senza nessun parametro, restituisce solo il formato
ciao
Marino


PHP:
<?php

# http://localhost/test_site/php/test/_localtime.php

$dt = localtime();

print_r ($dt);
echo "<br><br>";


$dt_f = (1900+$dt[5]) . "-" . (1+$dt[4]) . "-" . $dt[3] . " " . $dt[2] . ":" . $dt[1] . ":" . $dt[0];

print $dt_f;
echo "<br><br>";

print DateCalc($dt_f);
echo "<br><br>";


function DateCalc($input_date, $param='0 day') {
  $date = new DateTime($input_date);
  $date->modify($param);
  return $date->format('d-m-Y H:i:s');
}
?>
 

italo_pm

Nuovo Utente
21 Ago 2014
12
0
0
grazie marino51 per la risposta, eseguito lo script che gentilmente hai condiviso il risultato è:

05-09-2014 01:59:58

la data è corretta, solo che l'ho eseguito alle 08.05 mentre lì scrive [01:59:58]

suggerimenti per prendere l'ora locale?? il hosting è free immagino americano...

grazie ancora.

edit: ciao ragazzi, ho cercato un po in giro, ho dovuto creare un file .htaccess con:

Codice:
RewriteBase /
php_value date.timezone "Europe/Rome"

e funziona, eseguito alle 08:12, risultato:

05-09-2014 08:12:54

va bene cosi?? il valore della variabile sarà 08:12 corretto??

grazie ancora.
Italo
 
Ultima modifica:

italo_pm

Nuovo Utente
21 Ago 2014
12
0
0
ciao ragazzi, non posso editare il commento precedente,

ho fatto un'altro tentativo, alla fine ho messo la riga:

Codice:
date_default_timezone_set( 'Europe/Rome' );

sul mio file di connessione al db che viene richiamato in tutti mie file, seguendo il tuo esempio come avevo scritto funziona sia l'ora e il giorno gg-mm-yyyy hh:mm:ss il problema che non so usare la function DateCalc, quando eseguo l'insert il codice è:

Codice:
INSERT INTO `tabella` (`campo1`,`campo2`,`campo_data`) VALUES
        			('" .$campo1. "', '" .$campo2. "', NOW())";

solo che il NOW() mi scrive YYYY-MM-DD hh:mm:ss è questo va bene, (sono riuscito a formattare in GG/MM/YYYY) il problema rimane con l'ora che mi scrive quella del server (-6 ore) come posso sostituire il NOW() con il codice sopra DateCalc??

grazie in anticipo.
Saluti
 

marino51

Utente Attivo
28 Feb 2013
3.041
192
63
Lombardia
puoi scrivere la data nel database con il codice seguente,
PHP:
date_default_timezone_set("Europe/Rome");

$dt = localtime();
$campo_data = (1900+$dt[5]) . "-" . (1+$dt[4]) . "-" . $dt[3] . " " . $dt[2] . ":" . $dt[1] . ":" . $dt[0];

INSERT INTO `tabella` (`campo1`,`campo2`,`campo_data`) VALUES
        			('" .$campo1. "', '" .$campo2. "', '" .$campo_data. "')";

mentre quando leggi dal database puoi usare DATE_FORMAT (funzione di mysql) per formattare la data e presentarla a video,
PHP:
SELECT `campo1`,`campo2`,DATE_FORMAT(`campo_data`, '%d-%m-%Y %H:%i') as campo_data FROM `tabella` WHERE .......

scordati la funzione DateCalc,
in questo modo nel database le date sono nel formato anno-mese-giorno, valido per le ricerche,
mentre quando leggi ottieni la data formattata come indicato nella select
ciao
Marino
 

italo_pm

Nuovo Utente
21 Ago 2014
12
0
0
grazie marino51 , sia Insert e Select funzionano correttamente, ora locale e formattazione data.

la select l'ho fatta così:


PHP:
SELECT *, DATE_FORMAT(data_attivita, "%d/%m/%Y %H:%i:%s") `data_attivita` FROM t_attivita Order by `id` DESC;

grazie ancora!! :fonzie::fonzie:
 

italo_pm

Nuovo Utente
21 Ago 2014
12
0
0
ciao ragazzi, in che maniera posso scrivere solo il link del percorso di un file??

per esempio:

quando clicko su "sfoglia:" e seleziono un file (.doc, .pdf) che si trova in C:cartella1/documenti/esempio.doc vorrei come risultato un "collegamento" o link al file, non voglio ne salvarlo o copiarlo su un'altra cartella, lasciare il file nella sua directory e prendere solo il percorso+nome del file e dopo un insert al db come testo (varchar)

è possibile ??

grazie in anticipo.

Saluti
 
Discussioni simili
Autore Titolo Forum Risposte Data
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
F Creare elementi html con javascript Javascript 4
Shyson Modificare codice e creare link PHP 0
Cosina Creare bottone delete in form upload PHP 5
Cosina Creare bottone delete in form upload PHP 1
M Creare un campo input select quantità di un numero intero prelevato dal db PHP 3
L Creare una forma geometrica Photoshop 1
M [Cerco] aiutanti per creare sito Offerte e Richieste di Lavoro e/o Collaborazione 8
S Libreria PHP per creare file dwg o dxf PHP 0
R Come creare sistema Add to homescreen PHP 3
L Creare un countdown con giorno specifico della settimana PHP 3
W Creare link di una dato Classic ASP 0
W creare file .jar Java 2
M Creare con il Vb 2010 Il Classico Notes di Windows Vista Visual Basic 1
MarcoGrazia Creare una password Snippet Javascript 0
J creare pagina php di prenotazione PHP 5
A Creare un modulo di ricerca avanzata con dreamweaver HTML e CSS 0
INTEROPERABILITY Sviluppatrice/formatrice creare APP Offerte e Richieste di Lavoro e/o Collaborazione 0
L Creare una pagina pre-home WordPress 1
G Creare side-bar non visibile da dispositivi mobile HTML e CSS 0
L creare oggetti da una classe tramite un form Javascript 0
Web93 CREARE SITO WEB COMICS CON WORDPRESS WordPress 0
maxnegri Contare sessioni aperte e creare condizione PHP 1
A Come creare pulsante donazione PayPal HTML e CSS 5
L [CERCO] Creare blog su WordPress con tema Divi Offerte e Richieste di Lavoro e/o Collaborazione 3
F Creare un set di date a seconda del frazionamento scelto da inserire in MySQL PHP 6
R [Photoshop] Creare Azione Photoshop 1
F [PHP] creare tabella e tasto cerca PHP 3
A Creare con Javascript un percorso all'interno di uno spazio Javascript 0
B [PHP] Creare PDF dopo inserimento dati form PHP 4
A [HTML] Creare sito web per eLearnig HTML e CSS 2
R Bootstrap 4 - creare una finestra di testo responsive sopra un Carousel jQuery 1
Spenalzo Creare tabelle multiple con Access via VBA MS Access 2
R [PHP] Creare sistema random PHP 3
D [PHP] Consigli su come creare form PHP 1
I Creare Qsl radioamatore con testo editabile Presentati al Forum 1
T [PHP] Creare Honeypot per form contatti PHP 10
S [PHP] Creare collegamento filtri di ricerca al database PHP 6
Z Creare VirtualHost Apache2 con PHP? Programmazione 0
max_400 [HTML] Come creare un jpg animata (non gif animata) HTML e CSS 3
A Come creare un framset Sviluppo app per Android 1
T con oop creare un ciclo per una pagina dinamica html con php PHP 3
X [Apache] Creare sito clone/preservare codice sorgente Apache 7
E [PHP] creare temporary table per dati da xml PHP 2
M [MySQL] CREARE UN LINK SU UN DETERMINATO CAMPO DI UNA TABELLA RISULTATO DI UNA QUERY SQL MySQL 3
P [Photoshop CC] Come posso creare quest'effetto - cerchi concentrici Windows e Software 6
R [PHP] creare pagina profilo per ogni utente PHP 4
V [WordPress] Creare una struttura di articoli da una struttura di cartelle WordPress 1
jonnino2004 Sito .it vale la pena creare una versione in inglese? SEO e Posizionamento 1
F [MS Access] Creare [stringa] da caselle combinate MS Access 0

Discussioni simili