Ir para conteúdo

POWERED BY:

Arquivado

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

Braulio Cesar

Sistema de programação no ar

Recommended Posts

Bem, estou com uma dúvida que é o seguinte.

Eu tenho um sistema em que o cliente cadastra os programas, de tal horário até tal horário e o que eu precisaria é pegar a data atual do sistema e pegar a programação que estaria no ar.

O esquema aqui eu fiz com um loop, mas queria saber se tem uma função do Mysql pra que fique rápido o suficiente, pois acredito que quando o cliente colocar umas 5 programações por dia e estiver cadastrado no sistema programação de mais de 2 semanas vai começar a ficar lento porque começaria a dar um loop pra verificar o horário em mais de 70 registros.

Tentei usar o addtime, mas a hospedagem que peguei (Terra) eu tentei colocar a função do addtime na Locaweb e deu certo e o mesmo SQL tentei colocar na outra hospedagem (Terra) e deu erro de sintaxe, no Terra a versão do Mysql é 4.

Alguem teria uma ideia de fazer de uma forma que fique rápido, e ainda mais o cliente colocando várias datas, um textbox no formato hh:mm que ele pode colocar 13:15, 13:50, 15:30, 09:35, etc?

 

Se não ficou claro, só avisar que tento melhorar a minha explicação, srsrsr

Ah, um detalhe, como é um esquema que vai atualizar por jquery, eu quero que fique rápido, por isso que preciso de uma programação que seja rápido o suficiente e fora que ficará atualizando por minuto então tenho medo de muitos acessos ajudar a derrubar o servidor ou algo do tipo, srsrs. Pensei numa solução em Mysql, ou pelo menos uma otimização pra que fique pelo menos rápido, achoque no Mysql não tem uma função que pegue o registro mais próximo de um certo horário

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu uso um sistema parecido, que por preguiça minha não usa MySQL Trata-se do uso de arrays para fazer isso.

 

<?php
//Primeiro, carrega o arquivo que tem os dados do dia da semana,
//Onde o arquivo "1.php" é para segunda e "7.php" é para domingo:
$dia = date('N');
require_once($dia.'.php');

//Agora pega a hora atual e cria un índice
$hora = date('H:i');

//Agora verifica se existe esse índce no array
if(isset($dado[$hora]))
echo 'Você está ouvindo: '.$dado[$hora];
else
echo 'Nenhum programa nesse horário!';
?>

 

Agora no arquivo 1.php, que representa segunda feira, você tem isso:

<?php
//Arquivo 1.php - Arquivo de segunda feira

//Parte da manhã
$dado['06:15'] = 'Acorda Brasil';
$dado['07:10'] = 'Central da manhã';
$dado['12:00'] = 'Meio dia Brasil';

//Parte da tarde
$dado['14:11'] = 'Programa das 14:11hs';

//e por aí vai...
?>

 

Assim o php não vai fazer uma verificação de vários horários, ele verifica um só, se ele existir, escreve na tela.

 

Como nada é perfeito, ele só exibe os dados daquele minuto exato. Mas pode ser corrigido adicionando mais um índice a cada variável do array, contendo a hora que o programa acaba, e incrementando aquele IF.

 

Com o mysql, acho que é parecido, só que vai usar as tabelas pra gravar os dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu uso um sistema parecido, que por preguiça minha não usa MySQL Trata-se do uso de arrays para fazer isso.

 

<?php
//Primeiro, carrega o arquivo que tem os dados do dia da semana,
//Onde o arquivo "1.php" é para segunda e "7.php" é para domingo:
$dia = date('N');
require_once($dia.'.php');

//Agora pega a hora atual e cria un índice
$hora = date('H:i');

//Agora verifica se existe esse índce no array
if(isset($dado[$hora]))
echo 'Você está ouvindo: '.$dado[$hora];
else
echo 'Nenhum programa nesse horário!';
?>

 

Agora no arquivo 1.php, que representa segunda feira, você tem isso:

<?php
//Arquivo 1.php - Arquivo de segunda feira

//Parte da manhã
$dado['06:15'] = 'Acorda Brasil';
$dado['07:10'] = 'Central da manhã';
$dado['12:00'] = 'Meio dia Brasil';

//Parte da tarde
$dado['14:11'] = 'Programa das 14:11hs';

//e por aí vai...
?>

 

Assim o php não vai fazer uma verificação de vários horários, ele verifica um só, se ele existir, escreve na tela.

 

Como nada é perfeito, ele só exibe os dados daquele minuto exato. Mas pode ser corrigido adicionando mais um índice a cada variável do array, contendo a hora que o programa acaba, e incrementando aquele IF.

 

Com o mysql, acho que é parecido, só que vai usar as tabelas pra gravar os dados.

 

É, o jeito é colocar o horário de encerramento, pegar a data atual e noo where verificar se a data atual é maior ou igual ao horário de inicio e menor que o horário de encerramento, com sua ajuda acabei pensando em colocar o horário de encerramento pra não ficar fazendo verificações constantes, não precisando fazer loops.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@off

Kra, aconteceu o mesmo problema comigo, se você contrata um serviço de hospedagem linux la eles envia a versão php 4 e mysql 4, a questão é que a do php da p/ você mudar pelo painel p/ a 5, mas a versão do mysql so alterando a plataforma de linux p/ windows, dependendo do seu sistema se ele rodar em windows numa boa, compensa + você entrar em contato com o suporte e pedir para alterar a ver do mysql.

 

Abraços e fika a dica ae :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

@off

Kra, aconteceu o mesmo problema comigo, se você contrata um serviço de hospedagem linux la eles envia a versão php 4 e mysql 4, a questão é que a do php da p/ você mudar pelo painel p/ a 5, mas a versão do mysql so alterando a plataforma de linux p/ windows, dependendo do seu sistema se ele rodar em windows numa boa, compensa + você entrar em contato com o suporte e pedir para alterar a ver do mysql.

 

Abraços e fika a dica ae :thumbsup:

 

Acabei usando a solução do jcalebe, colocando o horario de encerramento só pega um registro, só instruir o cliente certinho mas também não é um bicho de sete cabeças pra ele, hahaha. Acredito que com o horário de encerramento junto fique mais rápido, só vai retornar um registro e dai não vai precisar de loop.

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.