Jump to content
Fórum Script Brasil
  • 0

Ajuda com lógica


Carlos Rocha

Question

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 to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...