Ir para conteúdo

POWERED BY:

Arquivado

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

clickanapolis

Comparação dinamica

Recommended Posts

Bom dia.
Estou criando para um cliente um sistema de pedido, onde o valor do produto vem de uma tabela onde o cliente cadastra.

Qtd: 10
Valor: R$2,00

Qtd: 11
Valor: R$1,90

Minha duvida e como fazer a condição de forma dinamica, pois se fosse fixo eu faria if($a <= 10) { e assim por diante, estou com duvida de como fazer comparando todos os valores cadastrado pelo cliente.

 

Pois de 1 ate 10 e um valor e acima de 11 outro valor, mais ele pode ter 3, 4 ou ate mais valores por produto e ele que ira selecionar a quantidade e o valor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcos eu tenho 2 tabelas. Uma do produto e a outra valor_produtos

 

onde tenho o id do produto, qtd e valor

 

O que eu preciso quando eu for fazer a venda e mandar salvar ele comparar nessa tabela para puxar o valor correto pois se eu comprar ate 10 o valor e R$2,00 se eu comprar mais de 10 fica R$1,90.

 

O problema de colocar dessa maneira é que um produto pode ter mais de uma condição e nem sempre  a quantidade vai ser 10, varia de produto para produto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como é a DDL da tabela? Coloque aqui mais alguns exemplos para facilitar na explicação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

minhas tabelas são:

 

create table produtos (
id_produto int(11) not null auto_increment,
nome varchar(255) default null,
primary key(id_produto)
);

create table produtos_precos (
id_preco int(11) not null auto_increment,
id_produto int(11) default null,
qtd int(11) default null,
valorun float(9,2) default null,
primary key(id_preco)
);

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, pelo o que eu entendi e fiz rapidinho aqui

você precisa efetuar uma busca do valor no banco de dados;

SELECT * FROM 
	produtos as p, 
	produtos_precos as pr
		WHERE
			p.id_produto = pr.id_produto and
			p.id_produto = '$idproduto'

após isso informar o valor do produto e a quantidade

$stmt  = $pdo->query("SELECT * FROM 
	produtos as p, 
	produtos_precos as pr
		WHERE
			p.id_produto = pr.id_produto and
			p.id_produto = '$idproduto'");

while ($info = $stmt->fetch(PDO::FETCH_OBJ)){
$nm_produto = $info->nome;
$vl_produto = $info->valorun;
$qt_produto = $info->qtd;
}

assim umas condições básicas:

$desconto = 1; //um controle
$quantidade = 10; //quantidade que vai ser comprada.
if ($quantidade < 10) {
	$valor = $vl_produto;
}else{
	$valor = $vl_produto - $desconto;
}

fiz rapidinho, pelo o que eu entendi

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não precisa ir para o PHP fazer a lógica, você pode fazer praticamente tudo via query.

SELECT 
    valorun
FROM 
    produtos_precos
WHERE
   qtd <= 11 -- <--- retornará todos os registros para compras de 11 unidades
ORDER BY 
   qtd DESC -- <--- orderará em forma decrescente, ou seja, o valor para a quantidade 11 será o primeiro registro
LIMIT 1 -- <--- retornará apenas o primeiro registro

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a orientação dos amigos.

      Preciso fazer um Relatório onde o usuário pode Gerar uma Lista com prazo para vencimento de: 15 / 20/ 30 dias da data atual.

      Tem como montar uma SQL para o sistema fazer uma busca no MySql por período ou dias próximo ao vencimento ?

      Tentei fazer assim, mas o SQL me traz tudo:
      $query = "SELECT faturamento.*, DATE_ADD(faturamento.dataVencimento, INTERVAL 30 DAY), fornecedor.* FROM faturamento INNER JOIN fornecedor ON fornecedor.idfornecedor = faturamento.id_fornecedor WHERE faturamento.statusFatur = 1 ORDER BY faturamento.idFaturamento $ordenar ";  
      Grato,
       
      Cesar
       
       
       
       
    • Por violin101
      Caros amigos, saudações
       
      Por favor, me perdoa em recorrer a orientação dos amigos, tenho uma dúvida.
       
      Gostaria de uma rotina onde o Sistema possa acusar para o usuário antes dos 30 dias, grifar na Tabela o aviso de vencimento próximo, por exemplo:
       
      Data Atual: 15/11/2024
                                           Vencimento
      Fornecedor.....................Data.....................Valor
      Fornecedor_1...........01/12/2024..........R$ 120,00 <== grifar a linha de Laranja
      Fornecedor_1...........01/01/2025..........R$ 130,00
      Fornecedor_2...........15/12/2024..........R$ 200,00 <== grifar a linha de Amarelo
      Fornecedor_2...........15/01/2025..........R$ 230,00
      Fornecedor_3...........20/12/2024..........R$ 150,00
       
      Alguém tem alguma dica ou leitura sobre este assunto ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a ajuda dos amigos, mas preciso entender uma processo que não estou conseguindo sucesso.

      Como mencionado no Título estou escrevendo um Sistema Web para Gerenciamento de Empresa.
       
      Minha dúvida, que preciso muito entender:
      - preciso agora escrever a Rotina para Emissão de NFe e essa parte não estou conseguindo.
       
      tenho assistido alguns vídeos e leituras, mas não estou conseguindo sucesso, já fiz toda as importações das LIB da NFePhp conforme orientação.

      Preciso de ajuda.

      Algum dos amigos tem conhecimento de algum passo-a-passo explicando a criação dessa rotina ?

      tenho visto alguns vídeos com LARAVEL, mas quando tento utilizar e converter para PHP+Codeiginter, dá uma fila de erros que não entendo, mesmo informando as lib necessárias.

      Alguns do amigo tem algum vídeo, leitura explicando essa parte ?

      Grato,

      Cesar.
×

Informação importante

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