Ir para conteúdo
Fórum Script Brasil
  • 0

sistema de produtos agendado


Guest ton

Pergunta

iae galera beleza,

assim, eu to montando um sistema pra exibição de produtos em um site.

porem, esse produtos tem validade ate a meia noite, e nesse horario não tem ngm pra add manualmente os produtos.

Então estou bolando um script para que quando der meia noite ele troque os produtos.

Só que os produtos tem validade, digamos, 2 dias, 3 dias de promoção.

Então seria mais ou menos assim:

Se a data_entrada_produto == data_atual e menor que data_validade{

exibe os produtos

}

Se não{

não exibe nada

}

Queria algumas ideias de como fazer isso.

Agradeço, vlw

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

ficou assim:

$conn = mysql_query("SELECT * FROM produtos WHERE dia_entrada >='$dia_atual' and dia_vencimento <='$dia_atual'");

só q dessa forma ele não esta retornando nd.

no banco os dados estão + ou - assim:

dia_entrada = 21

dia_vencimento = 23

Link para o comentário
Compartilhar em outros sites

  • 0

hum...no banco esta como DOUBLE(10,0).

o que eu estava vendo é o seguinte.

se a data_entrada >= dia_atual e $data_vencimento <= $dia_atual{

exibe

}

ai os dados no banco estão assim

data_entrada = 21

data_vencimento = 23

isso de digamos 5 produtos e já tem produtos com data_entrada = 24.

então quando desse dia 24 entraria os da data atual e nah mostraria os anteriores.

só o que acontece, como a regra mostra:

Se a data_vencimento(23) <= dia_atual(21){

exibe

}

Só q a data_vencimento é maior q o dia atual, então por isso nah esta exibindo.

Ta froid isso.

Link para o comentário
Compartilhar em outros sites

  • 0

Se você quiser verificar linha por linha vai ter que pegar todos os registros e jogar no while, mas se não está dando certo filtrar na query muito provavelmente alguma coisa na construção do seu sistema está com a lógica meio errada, a um tempo atrás eu fiz algo desse gênero e filtrava tudo direto na query.

Link para o comentário
Compartilhar em outros sites

  • 0

Aeee, consegui fazer funcionar, só que tem um porem :/...

quando produtos forem cadastrados antes do dia 30/31 e com validade alem do dia 30/31 não aparecem :/...

então se puderem me dar uma ajuda nessa etapa final com ideias eu agradeço :D.

Vlw pela ajuda ate agora.

aqui o script como esta agora:

$dia_atual = date(d);
$mes_atual = date(m);

$conn = mysql_query("SELECT * FROM produtos WHERE mes_entrada = '$mes_atual'");

while($reg = mysql_fetch_assoc($conn)){
    if($reg['dia_entrada'] > $dia_atual && $reg['mes_entrada'] == $mes_atual){
     echo "";
    }
    else{
        if($reg['dia_vencimento'] < $dia_atual){
        echo "";
        }
        else{
         print '
    <table>
    <tr>
    <td>'.$reg['nome_produto'].'</td><td>R$ '.$reg['preco_produto'].'</td><td>'.$peso.' '.$medida.'</td></tr>
    </table>';
    }
    }


    }

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, é o seguinte ... pelo que eu vi, os produtos só aparecem se o dia do vencimento for maior ou igual ao dia atual.

Substitua isso ...

if($reg['dia_entrada'] > $dia_atual && $reg['mes_entrada'] == $mes_atual){
     echo "";
    }
    else{
        if($reg['dia_vencimento'] < $dia_atual){
        echo "";
        }
        else{
         print '
    <table>
    <tr>
    <td>'.$reg['nome_produto'].'</td><td>R$ '.$reg['preco_produto'].'</td><td>'.$peso.' '.$medida.'</td></tr>
    </table>';
    }
    }
por isso ...
if($reg['mes_entrada'] < $mes_atual){
         print '
    <table>
    <tr>
    <td>'.$reg['nome_produto'].'</td><td>R$ '.$reg['preco_produto'].'</td><td>'.$peso.' '.$medida.'</td></tr>
    </table>';
    }
else if($reg['mes_entrada'] == $mes_atual)
{
     if($reg['dia_entrada'] <= $dia_atual)
     {
          print '
    <table>
    <tr>
    <td>'.$reg['nome_produto'].'</td><td>R$ '.$reg['preco_produto'].'</td><td>'.$peso.' '.$medida.'</td></tr>
    </table>';
     }
}

Ou seja ... o sistema só mostra os ítens em que o mês da entrada for anterior ao atual e se o mês for o atual, o produto deverá ter sido cadastrado até o dia de hoje para aparecer. É isso o que você quer ?

Link para o comentário
Compartilhar em outros sites

  • 0

Desse jeito ai que você colocou os produtos só irão aumentado, ou seja, os que já estiverem com prazo vencido ainda aperecerão.

O codigo acima meu está correto, o unico problema é esse q dá se a pessoa cadastrar algum produto no mes de abril com validade ate maio entende. Ele não vai exibir. ai no caso to pensando em colocar uma regra impedindo de add se o produto cadastrado tiver validade para o proximo mês.

Normalemente como é supermercado duram no maximo 3 dias as promoções, então pode dar o azar de isso acontecer e não exibir nd no dia 29,30 ou 31.

Mas por enqnt está bom, da pra aguentar hehe até eu resolver esse probleminha.

mas vlw pela ajuda.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...