Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Hybrid View

  1. #1

    php+mysql booking engine per parrucchiere

    Salve a tutti,
    sto sviluppando un gestionale per un parrucchiere.
    Ed ora sono al punto di sviluppare la prenotazione online.

    Ho due tabelle:

    1) Appuntamenti: id_eventi, id_dipendente, servizio, datetime_inizio, datetime_fine,
    es: 1, 1, taglio, 2020-05-19 15:00, 2020-05-19 15:30
    2, 1, colore, 2020-05-19 17:15, 2020-05-19 18:45
    ecc..

    2) turni_dipendenti: id_orari, id_dipendente, datetime_inizio, datetime_fine
    es: 1, 1, 2020-05-19 09:00, 2020-05-19 19:00
    2, 1, 2020-05-20 09:00, 2020-05-19 19:00
    ecc...

    Ora il mio dubbio è come impostare la ricerca dell utente sull'orario di lavoro del dipendente e sugli appuntamenti presi in agenda?

    Perchè io vorrei che l'utente seleziona il trattamento, sceglie il giorno ed il sistema mi ricerca le combinazioni degli orari possibili anche nei 2 giorni a seguire.

    Mi conviene creare un altra tabella dove gli inserisco la disponbilità dei dipendenti su un range di 10/15 minuti? Oppure riesco direttamente con una query tra le due tabelle e poi li ciclo con gli array?

    Grazie in anticipo

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    11,939
    Il tuo mi sembra più un problema legato alla struttura del DB e/o come interrogarlo che a difficoltà con PHP, nel qual caso dovresti chiedere nella sezione DB.
    Avresti problemi a tradurre in codice PHP un'eventuale risposta alla tua domanda?

    Chiarisci com'è la situazione che in caso sposto.

  3. #3
    si mi era sorto il dubbio su quale forum metterlo...

    no, non avrei problema a tradurre in codice PHP.

  4. #4
    se gli slot sono sempre di 15 minuti, ti conviene ragionare a slot invece che dalle-alle

  5. #5
    gli slot sono ogni 5 minuti... quindi tu dici il campo datetime lo modifico in date... e mi vado a creare un altro campo smallint dove metto 0 e 1... dove sono rispettivamente libero ed occupato?

  6. #6
    non so cosa tu intenda con "il campo datetime lo modifico in date", però il concetto è quello di dividere l'orario di lavoro in tanti slot e accenderli e spegnerli

  7. #7
    Nel senso "campo datetime" dove inserisco l'ora di inizio e fine dell appuntamento ... x esempio 'start' = '2020-05-25 09:00:00' 'end'='2020-05-25 10:15:00 ' .
    Quindi levo 'start' e 'end' ed inserisco 'giorno'='2020-05-25' e poi un campo dove ci sono 5 (minuti) * 60 * 12 (le ore lavorative) = 3.600 slot per ogni giorno per ogni dipendente, esatto o mi sono perso qualcosa?
    Ultima modifica di webamster.ag; 26-05-2020 a 22:45

  8. #8
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,322
    Quote Originariamente inviata da webamster.ag Visualizza il messaggio
    ... dove inserisco l'ora di inizio e fine dell appuntamento ... x esempio
    'start' = '2020-05-25 09:00:00'
    'end'='2020-05-25 10:15:00 ' .
    Quindi
    levo 'start'
    e 'end'
    ed inserisco
    'giorno'='2020-05-25'
    e poi un campo dove ci sono 5 (minuti) * 60 * 12 (le ore lavorative) = 3.600 slot per ogni giorno per ogni dipendente,
    Io non ho capito niente, e proprio per questo mi preoccupo ...... .......
    Tu inserisci due valori datetime
    poi li togli
    poi inserisci un valore date (senza time) e un valore dove suddividi il giorno in slot da 5 minuti (che non è 3600)

    Secondo me ti conviene dimenticarti di tutto e ripartire da zero
    per calcolare lo slot di 5 minuti in cui ti trovi io farei cosi:
    -- decidi un istante Istan casuale e invariabile ( per esempio 01/01/2000 h 00.00.00 )
    -- inserisci lo Start un orario di inizio per l'appuntamento (per esempio 15/06/2020 h 15.00.00 )
    -- inserisci la Quant non l'orario di fine, ma quanti slot dura l'appuntamento (per esempio 4 (corrispondente a 20 minuti ))

    ----- per calcolare lo Slot di inizio fai ( Start - Istan ) * 24 * 12
    ----- per calcolare lo Slot di fine fai (( Start - Istan ) * 24 * 12 ) + Quant

    Quindi nel DB inserisci solamente 2 valori Start (datetime) e Quant (numerico)

    Poi magari altri utenti potranno darti certamente delle idee migliori,

    .
    Ultima modifica di nman; 27-05-2020 a 07:11

  9. #9
    Oppure, molto più semplicemente, mostri il calendario in formato agenda, con i posti liberi e vuoti, e il cliente sceglie da sé. A me, come cliente, piacerebbe di più così

  10. #10
    Già forse è l'idea migliore ...

    Grazie cmq per le dritte
    Ultima modifica di webamster.ag; 27-05-2020 a 21:58

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2020 vBulletin Solutions, Inc. All rights reserved.