Br3n0k 1 Denunciar post Postado Fevereiro 5, 2016 Galerinha, estou com uma duvida cruel, estive pensando em trabalhar com um calendario, a pessoa faz um agendamento porem esse agendamento pode durar alguns dias então ela marca a data inicial e a final, e no calendario irá aparecer em todos os dias que ela marcou. estive pensando em fazer 1 insert para cada dia: porem sou leigo no PHP principalmente quando o assunto são datas, podem me ajudar? vi no blog do Thiagomatos: //Star date $dateStart = '20/04/2013'; $dateStart = implode('-', array_reverse(explode('/', substr($dateStart, 0, 10)))).substr($dateStart, 10); $dateStart = new DateTime($dateStart); //End date $dateEnd = '25/04/2013'; $dateEnd = implode('-', array_reverse(explode('/', substr($dateEnd, 0, 10)))).substr($dateEnd, 10); $dateEnd = new DateTime($dateEnd); //Prints days according to the interval $dateRange = array(); while($dateStart <= $dateEnd){ $dateRange[] = $dateStart->format('Y-m-d'); $dateStart = $dateStart->modify('+1day'); } var_dump($dateRange); porem como eu pegaria as datas e transformaria isso nos inserts? desculpe desde já e que realmente não sou programador, apenas um curioso =D alguem? Compartilhar este post Link para o post Compartilhar em outros sites
allex_carvalho 124 Denunciar post Postado Fevereiro 8, 2016 A $dateRange é um array com as datas desejada. Então, só fazer um foreach listando estes valores. foreach($dateRange as $valor){ $inserir = "INSERT INTO tabela (campo1, data) VALUES ('Valor inserido', '$valor')"; echo $inserir . '<br />'; } Compartilhar este post Link para o post Compartilhar em outros sites
Br3n0k 1 Denunciar post Postado Fevereiro 8, 2016 A $dateRange é um array com as datas desejada. Então, só fazer um foreach listando estes valores. foreach($dateRange as $valor){ $inserir = "INSERT INTO tabela (campo1, data) VALUES ('Valor inserido', '$valor')"; echo $inserir . '<br />'; } Allex, entendi o que quis dizer, e se por um acaso eu quisesse colcoar um agendamento que durasse 3 dias, no primeiro dia no final ia estar 1/3,2/3,3/3... identificar que a data nesse intervalo indica o primeiro, segundo, terceiro dia, h[a alguma forma Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Fevereiro 8, 2016 Apesar de ser um intervalo de datas, você deve identificar a relação entre elas. Pensando em um breve momento, há duas formas que eu sugeriria. 1 - Utilizando duas tebal. Uma tabela chamada "agendamento" e outra com as datas de agendamento (data_agendamento). Dessa forma, é apenas um agendamento que pode possuir 1:N dias, ou seja (um ou mais de um). 2 - Utilize apenas uma tabela, "agendamento". Cada registro na tabela agendamento refere-se a um dia de agendamento, entretanto, faça referência cruzada entre os registros, como um Doubly Linked List. Dessa você pode avançar e retroceder através da lista. Neste link existe uma implementação da SplDoublyLinkedList. De qualquer forma, eu utilizaria a primeira forma, é mais rápida de implementar, utilizar e avançar através das datas. Compartilhar este post Link para o post Compartilhar em outros sites