fabiomiguel3 2 Posted March 29, 2011 Report Share Posted March 29, 2011 Boas pessoal! Não faço a minima ideia de como fazer um calendario para que as pessoas marquem consultas. como guardar os dados na db etc. Alguem ja faz algo deste genero? Tou mesmo sem ideias... Blog Link to post Share on other sites
kareka 0 Posted March 29, 2011 Report Share Posted March 29, 2011 Precisas do código PHP ou da estrutura das tabelas da bd ? <?php include("assinatura.txt"); ?> Link to post Share on other sites
fabiomiguel3 2 Posted March 29, 2011 Author Report Share Posted March 29, 2011 Precisas do código PHP ou da estrutura das tabelas da bd ? De preferencia as duas coisas para poder estudar como é feito Blog Link to post Share on other sites
kareka 0 Posted March 29, 2011 Report Share Posted March 29, 2011 Antes de mais precisas de uma tabela para guardar as consultas , com informação mais básica mas isso tu depois acrescentas: ID_CONSULTA ID_UTENTE ID_MEDICO DATA ESPECIALIDADE ... Convém teres mais uma tabela de médicos e de utentes para guardares as informações mais básicas. De seguida , o código: Tens aqui uma ideia de como criar o calendário , é código que tinha aqui "arquivado" e estou a tables mas acho que funciona <div align="center"><? $link = "PÁGINA QUE QUERES REDIRECIONAR AO CLICAR NO DIA"; // numero de colunas da tabela, será o número de dias semanais $num_colunas_tabela = 7; $nome_meses = array("","Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"); $data_actual = date("Y-m-d"); // determinar a data a apresentar e o número de celulas a preencher em branco if(!isset($_GET['data'])) $data = date("Y-m-d"); else $data = $_GET['data']; $data2 = explode("-",$data); $primeiro_dia = $data2[0]."-".$data2[1]."-01"; $dia_semana_inicial = strftime("%w",strtotime($primeiro_dia)); $dias_mes = cal_days_in_month(CAL_GREGORIAN,intval($data2[1]),intval($data2[0])); $mes = $data2[0]."-".$data2[1]; $data = date("Y-m-d"); ?> <table width="170" align="center" bgcolor="#000000" border="0" cellspacing="0" cellpadding="0" style="margin-top:20px; padding:2px;"> <tr> <td colspan="7" align="center" style="padding-bottom:3px; font-size:11px;">Calendário</td> </tr> <tr> <td width="32" align="center"><a href="<?=$param?>data=<?=($data2[1]==1?($data2[0]-1):$data2[0])."-".($data2[1]==1?"12"$data2[1]-1))?>"><img src="IMG PARA SETA ESQUERDA" width="16" height="16" alt="Left" border="0" align="absbottom"></a></td> <td colspan="5" align="center" class="bold"><? $mes_id = intval($data2[1]); echo $nome_meses[$mes_id]." de ".$data2[0]; ?></td> <td width="32" align="center"><a href="<?=$param?>data=<?=($data2[1]==12?($data2[0]+1):$data2[0])."-".($data2[1]==12?"1"$data2[1]+1))?>"><img src="IMG PARA SETA DIREITA" width="16" height="16" alt="Right" border="0" align="absbottom"></a></td> </tr> <tr> <td colspan="7" height="5" class="short"></td> </tr> <tr> <td width="32" align="center" style="border-bottom:1px solid #cc3300;">Dom</td> <td width="32" align="center" style="border-bottom:1px solid #cc3300;">Seg</td> <td width="32" align="center" style="border-bottom:1px solid #cc3300;">Ter</td> <td width="32" align="center" style="border-bottom:1px solid #cc3300;">Qua</td> <td width="32" align="center" style="border-bottom:1px solid #cc3300;">Qui</td> <td width="32" align="center" style="border-bottom:1px solid #cc3300;">Sex</td> <td width="32" align="center" style="border-bottom:1px solid #cc3300;">Sab</td> </tr> <tr style="color:#FFF"> <? for($i=0; $i<$dia_semana_inicial; $i++) echo "<td class=bg_unset> </td>"; // para preencher as celulas com os dias do mês $dia_mes = 1; $coluna = $dia_semana_inicial + 1; for($i = $dia_semana_inicial; $i < $dia_semana_inicial + $dias_mes; $i++) { echo '<td width="32" align="center"><a href="' . $link . '?id='.$data2[0]."-".$data2[1]."-".$data2[2].'">'.$dia_mes.'</a></td>'; if($coluna % $num_colunas_tabela == 0) echo "</tr><tr>"; $coluna++; $dia_mes++; } // para preencher as celulas finais em branco for($i = $coluna - 1; $i % $num_colunas_tabela != 0; $i++) echo "<td> </td>"; ?> </tr> <tr> <td colspan="7" height="5" class="short"></td> </tr> <tr> <td colspan="7" height="5" class="short"></td> </tr> </table></div> Tive a dar uma olhada no código mas parece-me bem , qualquer coisa eu ando por aqui . Depois , só tens que redireccionar para uma página com um formulário para preencher e enviar para a bd . Não te esqueças que essa página recebe como parâmetro uma data . <?php include("assinatura.txt"); ?> Link to post Share on other sites
fabiomiguel3 2 Posted March 29, 2011 Author Report Share Posted March 29, 2011 Ora parece me bem. Mas o que eu quero é por exemplo clico num dia. E, ver que horas estão disponíveis. se tiver disponivel pronto marca percebes? Blog Link to post Share on other sites
kareka 0 Posted March 30, 2011 Report Share Posted March 30, 2011 Sim , já percebi . Também não é complicado ..crias horas pré-definidas de atendimento como se vê nos consultórios do género 15h, 15h30, 16h, 16h30, por exemplo numa tabela de horários e associas à tabela de consultas . Ao clicar num dia , envia na mesma a data por parâmetro e verificas quais as horas nesse dia que têm consulta (registo na bd) e escreves "ocupado" por exemplo, as que não tiverem escreves um link do género "marcar consulta" e (se houver utilizadores logados) até nem precisas de formulário , inseres automaticamente na tabela todos os dados necessários do utente, data e hora. Não se resolvi bem o teu problema mas espero que ajude . <?php include("assinatura.txt"); ?> Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now