Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcos Geam

Tabela horarios x dias semana

Recommended Posts

Galera, bom dia, to c uma duvida cabulosa, que já ta quase sendo matada mais ainda tem uns porens; vou tentar ilustrar minha tabela:

 

horarios | seg | ter | qua | qui | sex

07:30 | ok | | ok | |

09:30 | | ok | | | ok

10:30 | | | | | ok

..... varios horarios

 

enfim a tabela consiste em mostrar horarios agendados em determinado dia da semana tipo se o cara agendar 07:30 na terça ele marca o campo ok, se agendar 07:30 na quarta marca OK; já fiz as tabelas e algumas querys mais to me enrolando na hora de cruzar os valores, tipo ele vai criar dois registros 07;30 porem em dias diferentes na tabela, um é ter e outro na sex por exemplo, minha duvida é como criar um identificador que cruze estes horarios e dias e mostre na celula certa da tabela abaixo minhas tabelas

 

tb-horarios

id_horario

dia

horario

 

tb-agendamentos

id_agendamento

dia

horario

 

fiz na tabela uma query que lista os horarios cadastrados assim:

 

//Listar horários
$agenda = mysql_query("SELECT * FROM tb_horarios GROUP BY horario ORDER BY horario ASC")or die(mysql_error());

tabela:

<table>
<thead>
<tr>
<th style="width:10%;">HORÁRIOS</th>
<th style="width:15%;">SEG</th>
<th style="width:15%;">TER</th>
<th style="width:15%;">QUA</th>
<th style="width:15%;">QUI</th>
<th style="width:15%;">SEX</th>
</tr>
</thead>

<tbody>
<?php while($row_agenda = mysql_fetch_assoc($agenda)){ ?>
<tr>
<td><h5><?php echo $row_agenda['horario']; ?></h5></td>

<td class="alert-success"><a href="#"><?php if($row_agendamentos['dia'] == 1 && $row_agenda['horario'] == "07:30"){ echo "sim"; } ?></a></td>
<td class="alert-success"><a href="#"> </a></td>
<td class="alert-success"><a href="#"> </a></td>
<td class="alert-success"><a href="#"> </a></td>
<td class="alert-success"><a href="#"> </a></td>
</tr>
<?php } ?>

</tbody>
</table>

 

- desta forma ele lista os horarios na tabela a minha duvida é como ir buscar na tabela agendamentos os agendamentos que foram inseridos e colocar eles na celula certa e no horario correspoondente

 

se o cara agendar qua - 07:30 vai inserir no banco o dia e o horario e esta tabela devera exibir isto no campo correto, ate fiz uma query pra isto mais ta conflitando e ele repete os horarios assim:

 

$agendamentos = mysql_query("SELECT * FROM tb_agendamentos WHERE horario = '".$row_agenda['horario']."' ORDER BY dia ASC")or die(mysql_error());
$row_agendamentos = mysql_fetch_assoc($agendamentos);
do{

 

aqui fica a msma tr acima da tabela sendo que ele repete os horarios e nao bota na mesma linha

}while($row_agendamentos = mysql_fetch_assoc($agendamentos));*/

espero ter sido claro, aguardo toda ajuda e luz que poderem me dar!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Marcos, Tudo Bom?

 

 

Já pensou em fazer sua tabela de outra forma em que ficaria mais fácil escrever as query's?

Quero dizer, ter uma coluna para cada opção de segunda, terça, quarta, quinta....

 

Ai seria tranquilo relacionar com o WHERE e o código ficaria mais limpo :)

 

 

 

Atenciosamente, Paulo Enoatt

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Marcos, Tudo Bom?

 

 

Já pensou em fazer sua tabela de outra forma em que ficaria mais fácil escrever as query's?

Quero dizer, ter uma coluna para cada opção de segunda, terça, quarta, quinta....

 

Ai seria tranquilo relacionar com o WHERE e o código ficaria mais limpo :)

 

 

 

Atenciosamente, Paulo Enoatt

Fala Paulo, blza? inicialmente pensei fazer isto mesmo, porém achei que ficariam muitos campos em uma tabela e desta forma achei que ficaria mais enxuto, mais é uma boa opção caso não haja outras... valew!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Paulo, blza? inicialmente pensei fazer isto mesmo, porém achei que ficariam muitos campos em uma tabela e desta forma achei que ficaria mais enxuto, mais é uma boa opção caso não haja outras... valew!

 

Olha Marcos, vendo pelo seu ponto de vista é realmente bom.

 

A tabela vai ficar mais "enxuta" e mais resumida também, você terá essas vantagens

 

Mas será que fazendo algumas colunas para os dias como eu disse você vai ter essas vantagens

-Poupar tempo de desenvolvimento,

-Futuramente vai poder expandir as funcionalidades desse sistema relacionado a Tabela

-O Código vai ficar mais organizado e fácil de ser modificado

-Poder trabalhar com radio button de melhor forma caso você queira

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Olha Marcos, vendo pelo seu ponto de vista é realmente bom.

 

A tabela vai ficar mais "enxuta" e mais resumida também, você terá essas vantagens

 

Mas será que fazendo algumas colunas para os dias como eu disse você vai ter essas vantagens

-Poupar tempo de desenvolvimento,

-Futuramente vai poder expandir as funcionalidades desse sistema relacionado a Tabela

-O Código vai ficar mais organizado e fácil de ser modificado

-Poder trabalhar com radio button de melhor forma caso você queira

é uma boa e como seria o caminho eu criaria uma tabela com os dias da semana e relacionaria ela com quem? pode mostrar um skema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

é uma boa e como seria o caminho eu criaria uma tabela com os dias da semana e relacionaria ela com quem? pode mostrar um skema?

 

Marcos Há duas opções,

ou você pode relacionar via id e dia

ou criar uma tabela que englobe e sirva para as duas

 

Caso surja outra dúvida é só abrir mais um post que eu respondo

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

é acho que ter tres tabelas fica mais voltas ainda, vou procurar fazer da forma como tinha pensado e perguntado aqui, aguardando novas sugestoes galera, vlw paulo!

 

Olá Marcos, não foi isso que eu sugeri. rs

 

-Ou você cria uma tabela para as três

-Ou adiciona mais colunas a tabela já existente dai fica fácil de relacionar as tabelas entre sí.

 

Tem como montar uma query-gambiarra, mas eu acho que é um trabalho não muito inteligente; Mas é isso ai, certamente vai ter outras soluções o pessoal aqui do fórum imasters são muito inteligentes

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

resolvi seguir a dica do meu amigo paulo porem enxugando ao maximo a tabela, no final ficou bem mais dinamico os relacionamentos e sem gambiarras, valeu post encerrado;

 

ah... e o que fiz foi criar uma tabela cahamada semana onde coloquei:

 

id, horario, seg, ter, qua, qui, sex, sab

 

na tabela agendamento quando e efetuado um agendamento ele grava na tabela semana o id do agendamento no dia e horario correspondente, exatamente como precisava, ate a proxima!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.