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

Ajuda com lógica


Carlos Rocha

Pergunta

Olá pessoal, preciso de uma Ajuda com lógica aqui.

Seguinte:

Tenho um form que lista produtos separados por fornecedor e por lista de produtos.

Esse form ofereçe ainda a possibilidade de o cliente enviar uma mensagem não fornecedor daquele produto naquela lista.

A seguência seria assim:

Aqui, o cliente escolhe a lista de produtos:

0.jpg

Aqui, o cliente tem os produtos separados por fornecedor naquela lista de produtos, escolhe os produtos colocando a quantidade e deixa uma mensagem ao fornecedor(caso queira):

1.jpg

Depois de submetido, o form envia os dados para o carrinho:

2.jpg

Agora preciso, voltar para escolher outro produto que esqueci de escolher naquela lista e clciko em voltar.

Aqui esta a minha dificuldade:

Gostaria aqui de, chegando á lista escolhida, entregar os valores já gravados no carrinho aos campos observação do cliente ao fornecedor e já setar qual opção de pagamento escolhi quando enviei os produtos, se foi à vista ou á prazo no campos Condição de pagamento.

Alguém me ajuda?

Grato a quem ajudar.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Entendi.

Mas minha dificuldade esta exatamente ai:

Na tela que exibe os produtos, você pode notar que tem listando os produtos, por fornecedor, para a lista selecionada.

Para exibir o primeiro while com os dados do fornecedor, eu uso essa query:

$sql_fornece =  "       
              SELECT
               fornecedores.id, 
               concat( IFNULL(fornecedores.nome, ''),  IFNULL (fornecedores.razaosocial, '' )), 
               concat( IFNULL(fornecedores.cpf, ''),  IFNULL (fornecedores.cnpj, '' )),
               produtos_lista.id_lista, 
               fornecedores.pgto_forma, 
               fornecedores.pgto_prazo
              from 
                 produtos_lista
              inner join produtos on produtos_lista.id_produto = produtos.id
              inner join fornecedores on fornecedores.id = produtos.fornecedor
              inner join grupos on produtos.grupo = grupos.id_grupo
              where produtos_lista.id_lista = $id_lista
              group by fornecedores.id
              order by concat( IFNULL(fornecedores.nome, ''),  IFNULL (fornecedores.razaosocial , '' )), produtos.nome
            ";
Depois, para cada fornecedor mostrado nesse query, eu listo os produtos dele:
$sql_produtos =  "
              SELECT
               pl.id_lista,
                p.foto, 
               pl.id_produto,
                  p.nome,  
               f.id,
               concat( IFNULL(f.nome, ''),  IFNULL (f.razaosocial , '' )),
               g.nome, 
               p.quantidadecaixa,
               pl.preco_produto,
               pl.condicao,
               pl.observacao,
               pl.imposto
              from 
                 produtos_lista pl
              inner join produtos p on pl.id_produto = p.id
              inner join fornecedores f on f.id = p.fornecedor
              inner join grupos g on p.grupo = g.id_grupo
              where pl.id_lista = $lista_fornece and f.id=$id_fornece
              order by concat(f.nome, f.razaosocial), p.nome
            ";
Acontece, que na hora de enviar para o carrinho, eu envio apenas os dados que constam no while dos produtos. E ai, não estou sabendo montar: Até onde eu cheguei: Criei uma função dentro do carrinho, que guarda os codigos dos produtos, as listas, deles, e os fornecedores. isso, nesse teste que fiz, retornou um array assim: 2 produtos adicinados ao carrinho até agora:
Array
(
    [0] => Array
        (
            [0] => 83 - codigo produto
            [1] => Vai - mensagem
            [2] => 2 - lista
            [3] => 2 - tipo de pagamento
            [4] => 7 - codigo fornedor.
        )

    [1] => Array
        (
            [0] => 89
            [1] => 
            [2] => 1
            [3] => 2
            [4] => 13
        )

Analisando a figura segunda imagem, como eu poderia verificar qual mensagem, tipo de pagamento, escolhido para aquele fornecedor naquela lista?

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, criei essa função que varre o array e procura por uma combinação de valores entre os fornecedor e lista da vez do while e uma combinaçao com o conteudo do carrinho:

function array_array2($MeuCarrinho, $id_fornecedor, $id_lista )
    {
        $par_item = $MeuCarrinho->getParItemObservavp();
    
        for( $cl = 0; $cl< count( $par_item ); $cl++ )
        {
             if( $id_fornecedor == $par_item[ $cl ] [ 4 ] and $id_lista == $par_item[ $cl ] [ 2 ] )
             {
                 return true;
             }
        }
        return false;
    }
Se, ao chamar a funçao, tiver true como resposta, como faço para, no moe da array que houve combinação, pegar os valores dos indices, 1 (mensagem) e 3(tipo de pagamento, mas só o nó da combinaçao?
Array
(
    [0] => Array
        (
            [0] => 83 - codigo produto
            [1] => Vai - mensagem
            [2] => 2 - lista
            [3] => 2 - tipo de pagamento
            [4] => 7 - codigo fornedor.
        )

    [1] => Array
        (
            [0] => 89
            [1] => 
            [2] => 1
            [3] => 2
            [4] => 13
        )

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, estou colocando um js dentro do valor de uma variavel php.

Mas, quando chamo a variavel php, envez de ela executar o codigo js, esta imprimindo.

O que est errado?

$mensagem1= $resultadodoarray[0][1];
$mensagem = "<script>document.getElementById('{$i}[observa_cli]')].value=$mensagem1</script>";
$marcado= $resultadodoarray[0][3];
if($marcado==1){ echo "<script>document.getElementById('{$i}[radio_pgto]')[0].checked=true</script>";}
if($marcado==2){ echo "<script>document.getElementById('{$i}[radio_pgto]')[1].checked=true</script>";}

Ideia 1: chamar $mensagem dentro do value de um type text. Esta mostrando o texto e não executa o js

Idéia 2: marcar um radio button de dois indices. Não esta marcando

Grato a quem puder ajudar.

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
      652k
×
×
  • Criar Novo...