Ir para conteúdo
Fórum Script Brasil

Slackneo

Membros
  • Total de itens

    14
  • Registro em

  • Última visita

Tudo que Slackneo postou

  1. @svjets Rapaz, nem sei como te agradecer. Ficou muito bom. Obrigado mesmo. E o que precisar de mim estou a disposição. Abração!
  2. Funcionou que é uma maravilha. Desculpe a minha falta de conhecimento, mas estou batendo cabeça e não consigo adicionar o TEL no array, pois além do array Hora e Paciente tenho um array Tel. Estou quebrando a cabeça e não consigo. Desde já agradeço!
  3. Segue o código. //grade do médico $grade = array("08:00","08:15","08:30","08:45","09:00"); //hora das consultas marcadas $hora = array("07:30","08:00","08:10","08:30","09:00","10:00"); //paciente das consultas marcadas $paciente = array("Agueltúrcio","Bunesvaldo","Cledivandro","Dorinelson","Enislênio","Fidusotro"); //while para percorrer todo array grade pois poderíamos não saber qual é o tamanho dele $i=0; $tg = count($grade); $th = count($hora); while($i < $tg) { //sepra a hora e os minutos da grade em 2 arrays diferentes list($grade_hora[$i],$grade_minuto[$i]) = explode(":",$grade[$i]); $i++; } $delta = abs($grade_minuto[0] - $grade_minuto[1]); //while para percorrer todo array hora pois poderíamos não saber qual é o tamanho dele $j=0; while($j<$th) { //separa a hora e os minutos da grade em 2 arrays diferentes list($hora_hora[$j],$hora_minuto[$j]) = explode(":",$hora[$j]); $j++; } //for para percorrer as 24 horas $m=0; $q=0; for($k=0;$k<24;$k++) { //for para percorrer delta minutos for($l=0;$l<60;$l+=$delta) { //teste para verificar se o horario atual pertence a grade ou se existe pacientes para os proximos delta minutos $ctrl=false; for($p=$q;$p<$i;$p++) { if($grade_hora[$p] == $k AND $grade_minuto[$p] == $l) { if($q == 0) { //echo "------INÍCIO DO HORÁRIO NORMAL------\n<br />"; } echo "\n<tr><td>x</td><td>".$grade_hora[$p].":".$grade_minuto[$p]."</td>"; $q++; $p = $i; $ctrl=true; } if($q == $i AND $m == $j) { //echo "\n<br />------FIM DO HORÁRIO NORMAL------\n<br />"; } }//fecha for for($n=$m;$n<$j;$n++) { $minant = $l + $delta - 1; if($hora_hora[$n] == $k AND $hora_minuto[$n] == $l) { if(!$ctrl) { echo "\n<tr><td>@</td><td>".$hora_hora[$n].":".$hora_minuto[$n]."</td>"; $ctrl=true; } echo "<td>".$paciente[$n]."</td><td>".$tel[$n]."</td>"; if($q == 0 OR $q >= $i) { echo "</tr>"; } if($q == $i) { $q++; } $m++; } if($hora_hora[$n] == $k AND $hora_minuto[$n] > $l AND $hora_minuto[$n] <= $minant) { echo "</tr>\n<tr><td>Z</td><td>".$hora_hora[$n].":".$hora_minuto[$n]."</td><td>#".$paciente[$n]."</td>"."<td>".$tel[$n]."</td>"; $m++; } }//fecha for if($q > 0 AND $q <= $i AND $ctrl) { echo "</tr>"; } }//fecha for }//fecha for A tabela tem 4 colunas. O problema está quando não tem agendamento no horário, eu preciso imprimir duas colunas em branco depois da coluna de hora.
  4. Consegui fazer funcionar no meu sistema pegando os dados do meu banco. O problema agora é dispor os dados dentro de uma tabela. :(
  5. Opa!!! Desculpe a demora, é que estava de férias. Executei seu código aqui e deu uns erros que já acertei. O problema estava em 2 WHILES. Onde está de negrito foi a mudança. Ficou assim: //grade do médico $grade = array("08:00","08:15","08:30","08:45","09:00"); //hora das consultas marcadas $hora = array("07:30","08:00","08:10","08:30","09:00","10:00"); //paciente das consultas marcadas $paciente = array("Agueltúrcio","Bunesvaldo","Cledivandro","Dorinelson","Enislênio","Fidusotro"); //while para percorrer todo array grade pois poderíamos não saber qual é o tamanho dele $i=0; [b]$tg = count($grade); $th = count($hora);[/b] [b]while($i < $tg)[/b] { //sepra a hora e os minutos da grade em 2 arrays diferentes list($grade_hora[$i],$grade_minuto[$i]) = explode(":",$grade[$i]); $i++; } $delta = abs($grade_minuto[0] - $grade_minuto[1]); //while para percorrer todo array hora pois poderíamos não saber qual é o tamanho dele $j=0; [b]while($j<$th)[/b] { //separa a hora e os minutos da grade em 2 arrays diferentes list($hora_hora[$j],$hora_minuto[$j]) = explode(":",$hora[$j]); $j++; } //for para percorrer as 24 horas $m=0; $q=0; for($k=0;$k<24;$k++) { //for para percorrer delta minutos for($l=0;$l<60;$l+=$delta) { //teste para verificar se o horario atual pertence a grade ou se existe pacientes para os proximos delta minutos $ctrl=false; for($p=$q;$p<$i;$p++) { if($grade_hora[$p] == $k AND $grade_minuto[$p] == $l) { if($q == 0) { //echo "------INÍCIO DO HORÁRIO NORMAL------\n<br />"; } echo $grade_hora[$p].":".$grade_minuto[$p]; $q++; $p = $i; $ctrl=true; } if($q == $i AND $m == $j) { //echo "\n<br />------FIM DO HORÁRIO NORMAL------\n<br />"; } } for($n=$m;$n<$j;$n++) { $minant = $l + $delta - 1; if($hora_hora[$n] == $k AND $hora_minuto[$n] == $l) { if(!$ctrl) { echo $hora_hora[$n].":".$hora_minuto[$n]; $ctrl=true; } echo " - ".$paciente[$n]; if($q == 0 OR $q >= $i) { echo "\n<br />"; } if($q == $i) { //echo "------FIM DO HORÁRIO NORMAL------\n<br />"; $q++; } $m++; } if($hora_hora[$n] == $k AND $hora_minuto[$n] > $l AND $hora_minuto[$n] <= $minant) { echo "\n<br />".$hora_hora[$n].":".$hora_minuto[$n]." - ".$paciente[$n]; $m++; } } if($q > 0 AND $q <= $i AND $ctrl) { echo "\n<br />"; } } } Show de bola!!!! Agora vou adaptar à minha realidade. Logo, logo de dou um parecer. Obrigado por enquanto.
  6. Pessoal desculpem a demora, mas estava meio ocupado ultimamente. @svjets Entendi sua lógica, mas não consegui aplicar no meu caso. O que preciso é aplicar essa lógica nesses 2 arrays (strings), utilizando PHP: Array GRADE: Chave: 0 - Grade: 08:00 Chave: 1 - Grade: 08:15 Chave: 2 - Grade: 08:30 Chave: 3 - Grade: 08:45 Chave: 4 - Grade: 09:00 Array HORA: Chave: 0 - Hora: 07:30 Chave: 1 - Hora: 08:00 Chave: 2 - Hora: 08:10 Chave: 3 - Hora: 08:30 Chave: 4 - Hora: 09:00 Chave: 5 - Hora: 10:00 Grade são horários pré-definidos. Hora são os agendamentos das consultas. Agradeço a colaboração.
  7. Slackneo

    Php e arquivo

    Primeiro problema: CADASTRA.PHP $bairro = $_POST['bairro]; Faltou fechar a aspas simples: $bairro = $_POST['bairro1]; Segundo: LISTARPAC.PHP // Agora vem o grande truque, separamos os dados pelo "|" com explode $dado = explode("|",$le); você mesma define que o separador vai ser o caracter: £ Então troque no explode. // Agora vem o grande truque, separamos os dados pelo "|" com explode $dado = explode("£",$le); E pronto!!!!
  8. echo '<a href="#" name="'.$ln['cod_modelo'].'"><img src="'.$ln['imagem'].'" width="94" height="100" border="0"/> </a>'; echo '<br>'; echo $ln['cod_modelo']; Se for só imprimir abaixo, isso resolve. Ou então não entendi ainda o que você precisa.
  9. Slackneo

    If para login

    Sobre o login, também pode ser feito por sessão! Quando o cara logar grava uma variável de sessão, daí é só testar se a variável existe, caso verdadeiro o cara tá logado. Quanto ao problema do do topo.php, a solução mais imediata seria na página de login você fazer o topo direto na página. Arbaço!
  10. O arquivo que contem o código está na mesma pasta das imagens?!?!!? O nome do arquivo gravado no banco está com a extensão (.JPG)? Se não estiver na mesma pasta, terá de fazer assim: echo '<a href="#" name="'.$ln['cod_modelo'].'"><img src="fotos/'.$ln['imagem'].'" width="94" height="100" border="0"/> </a>'; Espero ter ajudado!
  11. Segue abaixo: Tabela AgendaConsultas AutoId int Paciente int Medico int Usuario int LocalAtend int Data smalldatetime Hora varchar(5) Compareceu bit Atrasado bit Atendido bit Retorno bit Exame bit Cirurgia bit TelNum varchar(9) TelDdd varchar(2) Complemento varchar(255) Convenio int
  12. Tenho sim. já cadastro os agendamentos sem problemas. Meu problema é depois que eu recupero as informações da agenda, fazê-las exibir na grade sempre verificando onde tem ou não horário agendado e mostrar.
  13. @svjets Obrigado pela atenção. Talvez eu não tenha entendido sua lógica ou você não entendeu o que eu quero fazer. Vou simplificar. Tenho um array chamado grade. Grade: Array ( [0] => 08:00 [1] => 08:15 [2] => 08:30 [3] => 08:45 [4] => 09:00 ) E tenho outro array chamado agenda. Agenda: HORA - PACIENTE 08:10 - TESTE 08:15 - TESTE 1 08:30 - TESTE 2 Quando imprimo o array GRADE ele me retorna como abaixo, o que seriam horários vagos: 08:00 08:15 08:30 08:45 09:00 Agora o que preciso fazer é percorrer o array GRADE e testar se o horário de AGENDA é igual da GRADE, se for imprimi o horário e o paciente da AGENDA, se não for igual imprimi o horário da GRADE, e caso haja horário na AGENDA que não seja igual da GRADE (encaixe) ele imprima na ordem correta. Não sei se consegui explicar mais claramente. Obrigado desde já.
  14. Olá pessoal, Também estou montando uma agenda médica. Estou tentando fazer assim: Tabela: TipoAgenda Guarda o intervalo de horário de cada médico de cada dia da semana. Ex.: 08:00 - 09:00. Tabela: AgendaConsultas Guarda os agendamentos. O funcionamento seria assim: Quando selecionar o dia da semana para fazer o agendamento do paciente, o sistema pega o intervalo de horário dentro de TipoAgenda e monta uma grade de 15 em 15 minutos, assim: 08:00 08:15 08:30 09:00 E quando o atendente agendar algum paciente, o sistema dá um select na tabela AgendaConsultas mostrará na grade o nome do paciente, assim: 08:00 08:15 Paciente A 08:30 09:00 Paciente B Até aí tudo bem. Porém, estou com algumas dificuldades, que são: - Agendamentos podem ser feitos qualquer horário mesmo fora da grade e com encaixe: 07:30, 08:10 e assim por diante. Quando acontece esse encaixe é que meu problema começa, pois não consigo uma maneira de mostrá-lo na grade. @claytonprog Percebi que você vai trabalhar com a grade de horários direto no banco. Minha idéia inicial seria manter no banco só os agendamentos que realmente foram feitos, e horários vagos não ficariam na tabela. Será que é melhor trabalhar com sua linha de raciocínio? Gravando tudo na tabela?!?!?
×
×
  • Criar Novo...