Ir para conteúdo
Fórum Script Brasil

Carlos Rocha

Membros
  • Total de itens

    1.300
  • Registro em

  • Última visita

Posts postados por Carlos Rocha

  1. Mas fiote meu mano.

    Então, como eu saio dessa?

    Tentei assim mas não deu tb.

    Não funciona, e nem da erro no depurador:

    function valida_form_pesquisas(form)
    {
    if (
         document.getElementsByTagName('escolha')[0].checked==false &&
         document.getElementsByTagName('escolha')[1].checked==false &&
         document.getElementsByTagName('escolha')[2].checked==false
        )
       {
             alert("Selecione um tipo de pesquisa!"); document.getElementsByTagName('escolha')[0].focus(); return (false);
       }
    Outra pergunta: Se eu tenho:
    document.pesquisas.escolha.length;
    E, se o nome do form pesquisas tiver que ser passado como parametro (nome_form). como eu faria? Tipo:
    document.+nome_form+.escolha.length;

    Assim não deu.

  2. Olá pessoal.

    Tenho trez radios button com o mesno name e ID.

    Estou tentando checar se algum deles está checkado.

    Mas, o depurador diz:

    "Não é possível obter valor da propriedade 'checked': o objeto é nulo ou não definido"

    if (
        document.getElementById('escolha')[0].checked==false &&
        document.getElementById('escolha')[1].checked==false &&
        document.getElementById('escolha')[2].checked==false
        )
       {
           alert("Selecione um tippo de pesquisa!"); document.getElementById('escolha')[0].focus(); return (false);
       }
    Eis o campo:
    <input type="radio" id="escolha" name="escolha" value="emissao" onclick="abre('emissaoini');abre('emissaofim');fecha('entradaini');fecha('entradafim');fecha('fornecedores');" />Por data Emissão<br />
           <input type="radio" id="escolha" name="escolha"  value="entrada" onclick="fecha('emissaoini');fecha('emissaofim');abre('entradaini');abre('entradafim');fecha('fornecedores');" />Por data Entrada<br />
           <input type="radio" id="escolha" name="escolha"  value="fornecedor" onclick="fecha('emissaoini');fecha('emissaofim');fecha('entradaini');fecha('entradafim');abre('fornecedores');" />Por Fornecedor

    Onde estou errando?

    Depois, preciso validar se o primeiro esta checado, se o segundo ou o terceiro.

    Grato.

  3. ola pessoal.

    Tenhpo o select abaixo:

    <select name="fornecedor"  id="fornecedor" size="1"  onChange="entrega_valor(this.fidelidade_fornecedor_select, 'fidelidade')" style="width:180px">
                <option value="<?php echo $id_fornecedor;?>" selected><?php echo $nome_fornecedor;?></option>";    
        <?php
        $fornecedores= "
                        select 
                          fornecedores.id, 
                          concat( IFNULL(fornecedores.nome, ''), IFNULL (fornecedores.razaosocial , '' )),
                          percentual_fidelidade
                        from fornecedores
                       ";
                      
        $fornecedores= mysql_query($fornecedores);
        while(list($id_fornecedores, $nome_fornecedores, $fidelidade_fornecedor_select)=mysql_fetch_row($fornecedores))
        {
          echo "<option value='$id_fornecedores' fidelidade_fornecedor_select='$fidelidade_fornecedor_select'>$nome_fornecedores</option>";   
        } 
        ?>
        </select>    <br />
        Percentual Fidelidade:    <label id="fidelidade" name="fidelidade"><?php echo $fidelidade_fornecedor;?></label>%

    A ideia aqui é pegar o id e o nome do fornecedor para preencher o select

    Para isso, faço a query acima.

    Mas, tem um campo da tabela de fornecedores, percentual_fidelidade, que a cada vez que o fornecedor é trocado na select, preciso chamar uma funçao no onchange que irá substituir o innerHtml do label fidelidade.

    A funçao esta funcionando, testei com o value do campo e deu certo.

    Mas , como eu poderia no select receber um terceiro argumento para envia-lo no onchange?

    Tentei criando um parametro 'fidelidade_fornecedor_select' mas não aceita. (Geralmente faço isso com textboxs e funciona normal)

  4. 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.

  5. 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
            )

  6. 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?

  7. 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.

  8. Bom, estou quase conseguindo:

    <form action="carrinho.php?op=adicionar" method="post" name="envia_tudo">
    <input type="text" id="1[quant]" value="0" onblur="calcula(this.value)"><br>
    <input type="text" id="2[quant]" value="0" onblur="calcula(this.value)"><br>
    <input type="text" id="3[quant]" value="0" onblur="calcula(this.value)"><br>
    <input type="text" id="4[quant]" value="0" onblur="calcula(this.value)"><br>
    <input type="text" id="5[quant]" value="0" onblur="calcula(this.value)"><br>
    <input type="submit"><p><p>
    </form>
    
    <script>
    function calcula()
    {
      for (i=0;i<4;i++)
      {
        //valor_total=+eval(document.form.i[quant].value);
        campo = 'document.getElementById('+i+'[quant]).value';
        valor_total=+eval(campo);
      }
      valor_nota = valor_total;
      document.getElementById('labeltotal').innerHTML = valor_nota
    }
    </script>
    
    <label id="labeltotal"></label>
    Aqui anda teem alguns problemas: No caso dos imnputs assim:
    <input type="text" id="1[quant]" value="0" onblur="calcula(this.value)"><br>
    <input type="text" id="2[quant]" value="0" onblur="calcula(this.value)"><br>
    <input type="text" id="3[quant]" value="0" onblur="calcula(this.value)"><br>
    <input type="text" id="4[quant]" value="0" onblur="calcula(this.value)"><br>
    <input type="text" id="5[quant]" value="0" onblur="calcula(this.value)"><br>
    Como é que eu vou, uma vez que eles são gerads dinamicamente pelo php, transformar isso em uma array para calcular seu tamanho e fazer o proximo passo:
    ..
    for (i=0;i<4;i++) => No caso esse 4 seria o tamanho do array;
    
    ..
    Outro dilema é como é que vou somar acumulativamente os valores dos inputs:
    //valor_total=+eval(document.form.i[quant].value);
        campo = 'document.getElementById('+i+'[quant]).value';
        valor_total=+eval(campo);
    Seria assim mesmo? No caso, isso esta retornando assim:
    document.getElementById(0[quant]).value
    E não:
    document.getElementById('0[quant]').value

    Como arrumar isso?

    Grato a quem puder ajudar.

  9. Olá pessoal.

    Boa noite.

    Tenho um form

    e dentro desse form tenho um while php que vai adicionando campos ao form conforme for o numero de registros de uma consulta sql.

    Bom, tenho uma função que , ao passo que preenchemos o value do campo quantidade por exemplo, é feito um calculo para saber quanto daria o valor total do preço desse produto vezes a quantidade colocada sem submeter o form e colocar esse valor em um label.

    // JavaScript Document
    function calculo(qtde, vl, quant, quan, label)
        {      
              total = qtde * vl;
              total = format_number(total,2);
              document.getElementById(quan).value=qtde;
              document.getElementById(label).innerHTML=total;
        }
    Agora gostaria de montar um função que, ao deixar o campo (após colocar a quantidade), faz uma varrida por todos os labeis om seus respectivos valores e dê um valor total para todos os ítens que os valores das suas quantidades forma alteras de 0 (padrão). Preciso da ajuda de vocês. Segue meu codigo
    <table border=1 width=800 align=center>
                <tr><td colspan=11 align=center><h4>Para comprar o produto, informe a quantidade de ítens na coluna Quantidade<br>e clicke no botão "Enviar todos os ítens" no final da lista.<br>Para NÃO comprar o produto, deixar a coluna Quantidade com o valor 0 (zero).
    <br> Caso quera adicionar alguma observação do produto, preencha o campo Observaçao Cliente.</td><tr>
                <tr>
                  <td colspan='11' align='center'>O valor total da nota até agora é de R$0.00</td>
                </tr>
                <tr>
                  <td align=center>Lista</td>
                  <td align=center>Condição</td>
                  <td align=center>Produto</td>
                  <td align=center>Qtde.<br>na caixa</td>
                  <td align=center>Preço por<br>unidade<br>na caixa</td>
                  <td align=center>Preço Caixa</td>              
                  <td align=center>Quantidade</td>
                  <td align=center>Sub Total</td>
                  <td align=center>Observação<br>Empresa</td>
                 </tr>
              <form action="carrinho.php?op=adicionar" method="post" name="envia_tudo"><tr><td align=left colspan=6>Fornecedor: &nbsp;&nbsp;Malta S/A - CNPJ=  11.111.111/1111-11</td>  
                       <td align=left colspan=5><font color="red">Condição de pagamento:</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                      <input type="radio" name="0[radio_pgto]" id="0[radio_pgto]" value="1" checked="checked" onclick="fecha('0[div_pgto_prazo]'); entrega_valores(2,0, this.value,'radio_pgto' )""> À vista
                      <input type="radio" name="0[radio_pgto]" id="0[radio_pgto]" value="2" onclick="abre('0[div_pgto_prazo]'); entrega_valores(2,0, this.value,'radio_pgto' )""> À prazo
                      <div id="0[div_pgto_prazo]" style="display:none">
                         Prazos para pagamento para produtos deste fornecedor: <label id="label_prazo">30 dias</label>
                      </div>
                        </td></tr><input type="hidden" name="1[radio_pgto]" id="1[radio_pgto]" value="1"><input type="hidden" name="0[label_prazo]" id="0[label_prazo]" value="30 dias"><input type="hidden" name="1[label_prazo]" id="1[label_prazo]" value="30 dias">
                  <tr><td align=left colspan=11><font color="red">Observação do cliente para o fornecedor:</font>&nbsp;&nbsp;&nbsp;&nbsp;
                     <input type="text" onBlur="entrega_valores(2,0, this.value,'observa_cli' )"\ name="0[observa_cli]"  id="0[observa_cli]" value="" style="border-color:black">
                   </td></tr><input type="hidden" name="1[observa_cli]" id="1[observa_cli]" value=""><input type="hidden" name="0[id_prod]"  id="0[id_prod]" value="3">
                             <input type="hidden" name="0[quan]" id="0[quan]" value="">    
                             <input type="hidden" name="0[id_lista]" name="0[id_lista]" value="1">           
                             <input type="hidden" name="0[imposto]" name="0[imposto]" value="10.00">           
                            <tr>
                                <td align=center>1</td>
                                <td align=letf>Encarte</td>
                                <td align=let>Cevada</td>
                                <td align=center>15</td>
                                <td align=right>R$ 0.24</td>
                                <td align=right>R$ 3.63</td>
                                <td align=right>
                  <input type=text id=0[quant] value=0 size=2 style="text-align: center;" 
                  onKeyPress="BloqueiaLetras();" 
                  onchange="calculo(this.value, 3.63,'0[quant]','0[quan]','0[label_preco]');" >
                                </td>              
                                <td align=right>R$ <label id="0[label_preco]">0.00</label></td>              
                                <td align=left>Sem observação</td>
                              </tr><input type="hidden" name="1[id_prod]"  id="1[id_prod]" value="6">
                             <input type="hidden" name="1[quan]" id="1[quan]" value="">    
                             <input type="hidden" name="1[id_lista]" name="1[id_lista]" value="1">           
                             <input type="hidden" name="1[imposto]" name="1[imposto]" value="20.00">           
                            <tr>
                                <td align=center>1</td>
                                <td align=letf>Complemento</td>
                                <td align=let>Pão</td>
                                <td align=center>12</td>
                                <td align=right>R$ 0.32</td>
                                <td align=right>R$ 3.84</td>
                                <td align=right>
                  <input type=text id=1[quant] value=0 size=2 style="text-align: center;" 
                  onKeyPress="BloqueiaLetras();" 
                  onchange="calculo(this.value, 3.84,'1[quant]','1[quan]','1[label_preco]');" >
                                </td>              
                                <td align=right>R$ <label id="1[label_preco]">0.00</label></td>              
                                <td align=left>Sem observação</td>
                              </tr>
                     <tr>
                         <td align=center valign="middle" colspan=11 height=50>
                           <input type="submit" value="Enviar todos os ítens">
                          </form>
                         </td>
                     </tr> 
                     <tr>
                         <td align=center valign="middle" colspan=11 height=50>
                           <a href="java script:history.go(-1);">Voltar</a>
                         </td>
                     </tr>  </form></table>
    Olá Pessoal. Talvez vocês não tenham me entendido muito bem. A função que eu tenho, calcula o valor Quant X preço, quando digito a quantidade de produtos (no produto daquela linha). Porem, são vários os produtos que aparecem no form. Na verdade, é um while php para listar os produtos dentro d form. Então eu terei no form n produtos para eu escolher e colocar a quantidade. O que eu queria era saber como que eu vou, após colocar a quantidade em um campo, varrer todos os outros campos e ver seu valor para somar e informar o valor total da nota. Resumindo o form, Seria mais ou menos assim:
    <form action="carrinho.php?op=adicionar" method="post" name="envia_tudo">
    <input type=text id=1[quant] value="0" onchange="calculo(this.value, 3.84,'1[quant]','1[quan]','1[label_preco]');" >
    <input type=text id=2[quant] value="0" onchange="calculo(this.value, 3.84,'2[quant]','2[quan]','2[label_preco]');" >
    <input type=text id=3[quant] value="0" onchange="calculo(this.value, 3.84,'3[quant]','3[quan]','3[label_preco]');" >
    <input type=text id=4[quant] value="0" onchange="calculo(this.value, 3.84,'4[quant]','4[quan]','4[label_preco]');" >
    <input type=text id=5[quant] value="0" onchange="calculo(this.value, 3.84,'5[quant]','5[quan]','5[label_preco]');" >
    .............
    <input type=text id=n[quant] value="0" onchange="calculo(this.value, 3.84,'n[quant]','n[quan]','n[label_preco]');" >
    <input type="submit">
    </form>

    Aqui, a cada vez que eu uso a função calculo, ele calculo ptecoXQuantidade, para o produto daquel textbox. Preciso agora pega esse valor somar aos demais texbox

  10. Pois é.

    Fiz uma função mas não esta dando certo.

    Esta zerando o que vem do banco.

    Onde estou errando?

    while(list($id_lista, $foto, $id_produto, $nome_produto, $id_fornece, $nome_razao_fornece, $nome_grupo, $quantidadecaixa, $preço, $condicao,$observacao, $imposto) = mysql_fetch_row($sql_produtos_query))
    {
    if(session_is_registered("MeuCarrinho"))
    {    
        function array_array()
        {
            for( $cl = 0; $cl< count( $MeuCarrinho->getParItem() ); $cl++ )
            {
                 if($id_produto == $MeuCarrinho->getParItem[ $cl ] [ 0 ] and $id_lista == $MeuCarrinho->getParItem[ $cl ] [ 1 ])
                 {
                     return true;
                     break;
                 }
            }
            return false;
        }
    
        $par_item = $MeuCarrinho->getParItem();
         if (array_array()==false)
         {
           echo "<input type=\"hidden\" name=\"{$i}[id_prod]\"  id=\"{$i}[id_prod]\" value=\"$id_produto\">
                 <input type=\"hidden\" name=\"{$i}[quan]\" id=\"{$i}[quan]\" value=\"\">    
                 <input type=\"hidden\" name=\"{$i}[id_lista]\" name=\"{$i}[id_lista]\" value=\"$id_lista\">           
                 <input type=\"hidden\" name=\"{$i}[imposto]\" name=\"{$i}[imposto]\" value=\"$imposto\">           
                ";
           include("../global/funcoes_php/foto_ver.php");
           $icone = "<img border=0 src='../img/saiba_mais.png'  alt='Saiba Mais'>";                        
           if ($observacao=="") {$observacao="Sem observação";}
           if ($condicao==1)      {$condicao="Complemento";}
           if ($condicao==2)      {$condicao="Encarte";}
           $vp2 = $vp - 1;
           $ob2 = $ob - 1;
           echo "<tr>
                    <td align=center>$id_lista</td>
                    <td align=letf>$condicao</td>
                    <td align=let>$nome_produto</td>
                    <td align=center>$quantidadecaixa</td>
                    <td align=right>R$ ". number_format($preço/$quantidadecaixa, 2, '.', '')."</td>
                    <td align=right>R$ ". number_format($preço, 2, '.', '')."</td>
                    <td align=right>
      <input type=text id={$i}[quant] value=0 size=2 style=\"text-align: center;\" 
      onKeyPress=\"BloqueiaLetras();\" 
      onchange=\"calculo(this.value, $preço,'{$i}[quant]','{$i}[quan]','{$i}[label_preco]');\" >
                    </td>              
                    <td align=right>R$ <label id=\"{$i}[label_preco]\">0.00</label></td>              
                    <td align=left>$observacao</td>
                  </tr>";
                       $i++;      
           }        
      }
    }

  11. Bom, estive pensando no seguinte:

    uma vez que tenho o array:

    $MeuCarrinho->getParItem();

    Que retorna (por exemplo)

    Array
    (
        [0] => Array
            (
                [0] => 3 (Codigo)
                [1] => 2 (Lista)
                [2] => 1 (Quantidade)
                [3] => 3.30132 (preço)
            )
    
        [1] => Array
            (
                [0] => 4 (Codigo)
                [1] => 2 (Lista)
                [2] => 2 (Quantidade)
                [3] => 5.0015 (preço)
            )
    
        [2] => Array
            (
                [0] => 5 (Codigo)
                [1] => 2 (Lista)
                [2] => 3 (Quantidade)
                [3] => 15.6 (preço)
            )
    
    )
    E posso criar um array com o codigo e a lista do produto exibido em cada laço do while: $laco_while[]=array(array($id_produto,$id_lista)); Que retorna (por exemplo)
    Array
    (
        [0] => Array
            (    [0] => 3 (Codigo)
                 [1] => 2 (Lista)
            )
    )

    Como faço para pesquisar no Array $MeuCarrinho->getParItem(); se tem alguma combinação igual ao Array $laco_while[]?

    Pensei na função array_search() mas ela só busca string dentro da array;

  12. Ficou assim:

    Obrigado:

    $par_item = $MeuCarrinho->getParItem();
    if (count( $par_item )>0)
    {
        for( $i = 0; $i< count( $par_item ); $i++ )
            {
                 if( $id_produto == $par_item[ $i ] [ 0 ] and $id_lista == $par_item[ $i ] [ 1 ] )
                 {
                     echo "Par Combina!".$i;
                 }
            }        
    }

  13. Bom. Com um pouco de ajuda estou avançando.

    Com essa array:

    Array
    (
        [0] => Array
            (
                [0] => 3  (codigo)
                [1] => 3  (Lista)
            )
    
        [1] => Array
            (
                [0] => 1  (codigo)
                [1] => 4  (Lista)
            )
    
    )
    Ou essa (ai será a forma que vocês dominarem mais).
    Array
    (
        [0] => Array
            (
                [0] => 3  (codigo)
                [1] => 1  (codigo)
            )
    
        [1] => Array
            (
                [0] => 3  (Lista)
                [1] => 4  (Lista)
            )
    
    )
    Estando dentro de um while:
    while()
    {
      ...... $codigo, $lista  // de cada produto
    }

    Como posso comparar os resultados e ver, se dentro daquele array tem algum para que seja identico?

  14. Deixa me ver se facilita.

    Dando um print_r() em toda a classe carrinho sai o seguinte:(No momento desse teste claro. rsrs)

    TCarrinho Object
    (
        [item_codigo] => Array
            (
                [0] => 3
                [1] => 6
                [2] => 1
            )
    
        [item_quantidade] => Array
            (
                [0] => 2
                [1] => 3
                [2] => 2
            )
    
        [item_lista] => Array
            (
                [0] => 2
                [1] => 2
                [2] => 4
            )
    
        [item_observa_cli] => Array
            (
                [0] => 
                [1] => 
                [2] => 
            )
    
        [item_pgto_tipo] => Array
            (
                [0] => 1
                [1] => 1
                [2] => 1
            )
    
        [item_pgto_prazo] => Array
            (
                [0] => 30 dias
                [1] => 30 dias
                [2] => 
            )
    
        [item_imposto] => Array
            (
                [0] => 0.04
                [1] => 0.00
                [2] => 0.00
            )
    
    )

    Preciso pegar as combinações item_codigo,item_lista que há nesse array e ver se em algum laço do while os fields codigo e lista são iguais à quanquer um no array.

  15. Olá pessoal.

    Boa Noite!

    Estou implementando aqui o carrinho de compras e, dando um print_r($Carrinho); na classe carrinho, em um determinado momento retornou:

    TCarrinho Object
    (
        [item_codigo] => Array
            (
                [0] => 3
                [1] => 6
                [2] => 3
            )
    
        [item_quantidade] => Array
            (
                [0] => 2
                [1] => 4
                [2] => 5
            )
    
        [item_lista] => Array
            (
                [0] => 1
                [1] => 1
                [2] => 5
            )
    
        [item_observa_cli] => Array
            (
                [0] => 
                [1] => 
                [2] => 
            )
    
        [item_pgto_tipo] => Array
            (
                [0] => 1
                [1] => 1
                [2] => 1
            )
    
        [item_pgto_prazo] => Array
            (
                [0] => 30 dias
                [1] => 30 dias
                [2] => 30 dias
            )
    
        [item_imposto] => Array
            (
                [0] => 10.00
                [1] => 20.00
                [2] => 0.00
            )
    
    )

    Eu tenho em uma página, uma lista (while) que me retorna para cada laço, dois dados de preodutos:

    id_produtos

    lista_do produto

    Eu gostaria de, a cada volta do while, conferir no print_r() se tem uma dupla de item_codigo x item_lista que seja igual à dupla do while id_produtos

    lista_do produto

    Se sim, marcar uma chekbox na formulario de produtos e desbilitar o botão enviar do mesmo.

    Como faço isso?

  16. Ola pessoal.

    Gostaria da ajuda de vocês para fazer essa consulta:

    select 
      colunistas.nome_colunista, entrevistado.nome_entrevistado
    from 
      colunistas, entrevistado
    De forma tal que os resultados saiam ordenados por nome. Tipo assim, saiu :
    colunistas.nome_colunista, entrevistado.nome_entrevistado
    Alex                     , Pedro
    João                     , Tadeu
    Daí ele ordene assim:
    Nomes
    Alex
    João
    Pedro
    Tadeu.

    Tem jeito de fazer isso?

  17. O problema do booleano era que a variavel

    $Pedido->capturar = 'false';

    estava assim:

    $Pedido->capturar = false;

    E ai não estava aceitando.

    Mas isso ai resolveu.

    Agora só esta restando o problema de que, mesmo enviando os dados do cartão ainda é redirecionado para uma pagina que solicita os dados do cartão.

    Vê o que tem de errado:

    <?php 
    
        require "../includes/include.php";
    
        $Pedido = new Pedido();
        $tipoParcelamento=3; //Administradora
        // Lê dados do $_POST
        $Pedido->formaPagamentoBandeira = $_POST["codigoBandeira"]; 
    
        $Pedido->formaPagamentoProduto = 3; // Administradora
    
        if($_POST["formaPagamento"] != "A" && $_POST["formaPagamento"] != "1")
        {
            $Pedido->formaPagamentoProduto = $tipoParcelamento;
            $Pedido->formaPagamentoParcelas = $_POST["formaPagamento"];
        } 
        else 
        {
            $Pedido->formaPagamentoProduto = $_POST["formaPagamento"];
            $Pedido->formaPagamentoParcelas = 1;
        }
        //$Pedido->formaPagamentoParcelas = $_POST["formaPagamento"];
        
        $Pedido->dadosEcNumero = CIELO;
        $Pedido->dadosEcChave = CIELO_CHAVE;
        
        $Pedido->capturar = 'false';    
        $Pedido->autorizar = 2;
        
        $Pedido->dadosPedidoNumero = $_POST["NUMPEDIDO"]; 
        $Pedido->dadosPedidoValor = str_replace(",", "",str_replace(",", "", $_POST["TOTAL"]));
        
        $Pedido->urlRetorno = ReturnURL();
        
        // ENVIA REQUISIÇÃO SITE CIELO
        $objResposta = $Pedido->RequisicaoTransacao(false);
        
        $Pedido->tid = $objResposta->tid;
        $Pedido->pan = $objResposta->pan;
        $Pedido->status = $objResposta->status;
        
        $urlAutenticacao = "url-autenticacao";
        //$urlAutenticacao = "https://qasecommerce.cielo.com.br/servicos/ecommwsec.do";
        $Pedido->urlAutenticacao = $objResposta->$urlAutenticacao;
    
        // Serializa Pedido e guarda na SESSION
        $StrPedido = $Pedido->ToString();
        $_SESSION["pedidos"]->append($StrPedido);
        
    
        echo '<script type="text/javascript">
                window.location.href = "' . $Pedido->urlAutenticacao . '"
             </script>';
    
    ?>
    include.php
    <?php
    
    require 'errorHandling.php';
    require_once 'pedido.php';
    require_once 'logger.php';
    
    define('VERSAO', "1.1.0");
    
    session_start();
    
    if(!isset($_SESSION["pedidos"]))
    {
        $_SESSION["pedidos"] = new ArrayObject();
    }
    
    // CONSTANTES
    define("ENDERECO_BASE", "https://qasecommerce.cielo.com.br");
    define("ENDERECO", ENDERECO_BASE."/servicos/ecommwsec.do");
    
    define("LOJA", "1006993069");
    define("LOJA_CHAVE", "25fbb99741c739dd84d7b06ec78c9bac718838630f30b112d033ce2e621b34f3");
    define("CIELO", "1001734898");
    define("CIELO_CHAVE", "e84827130b9837473681c2787007da5914d6359947015a5cdb2b8843db0fa832");
    
    
    // Envia requisição
    function httprequest($paEndereco, $paPost){
    
        $sessao_curl = curl_init();
        curl_setopt($sessao_curl, CURLOPT_URL, $paEndereco);
        
        curl_setopt($sessao_curl, CURLOPT_FAILONERROR, true);
    
        //  CURLOPT_SSL_VERIFYPEER
        //  verifica a validade do certificado
        curl_setopt($sessao_curl, CURLOPT_SSL_VERIFYPEER, true);
        //  CURLOPPT_SSL_VERIFYHOST
        //  verifica se a identidade do servidor bate com aquela informada no certificado
        curl_setopt($sessao_curl, CURLOPT_SSL_VERIFYHOST, 2);
    
        //  CURLOPT_SSL_CAINFO
        //  informa a localização do certificado para verificação com o peer
        curl_setopt($sessao_curl, CURLOPT_CAINFO, getcwd() .
                "/ssl/VeriSignClass3PublicPrimaryCertificationAuthority-G5.crt");
        curl_setopt($sessao_curl, CURLOPT_SSLVERSION, 3);
    
        //  CURLOPT_CONNECTTIMEOUT
        //  o tempo em segundos de espera para obter uma conexão
        curl_setopt($sessao_curl, CURLOPT_CONNECTTIMEOUT, 10);
    
        //  CURLOPT_TIMEOUT
        //  o tempo máximo em segundos de espera para a execução da requisição (curl_exec)
        curl_setopt($sessao_curl, CURLOPT_TIMEOUT, 40);
    
        //  CURLOPT_RETURNTRANSFER
        //  TRUE para curl_exec retornar uma string de resultado em caso de sucesso, ao
        //  invés de imprimir o resultado na tela. Retorna FALSE se há problemas na requisição
        curl_setopt($sessao_curl, CURLOPT_RETURNTRANSFER, true);
    
        curl_setopt($sessao_curl, CURLOPT_POST, true);
        curl_setopt($sessao_curl, CURLOPT_POSTFIELDS, $paPost );
    
        $resultado = curl_exec($sessao_curl);
        
        curl_close($sessao_curl);
    
        if ($resultado)
        {
            return $resultado;
        }
        else
        {
            return curl_error($sessao_curl);
        }
    }
    
    // Monta URL de retorno
    function ReturnURL()
    {
        $pageURL = 'http';
    
        if ($_SERVER["SERVER_PORT"] == 443) // protocolo https
        {
            $pageURL .= 's';
        }
        $pageURL .= "://";
        if ($_SERVER["SERVER_PORT"] != "80")
        {
            $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
        } else {
            $pageURL .= $_SERVER["SERVER_NAME"]. substr($_SERVER["REQUEST_URI"], 0);
        }
        // ALTERNATIVA PARA SERVER_NAME -> HOST_HTTP
    
        $file = substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/")+1);
    
        $ReturnURL = str_replace($file, "retorno_cartao.php", $pageURL);
    
        return $ReturnURL;
    }
    
    ?>

  18. Bom, vamos tentar de outra forma:

    Utilizando novamente o modelo do manual,

    Agora só resta um erro para corrigir mas não acho ele.

    Ocorreu um erro em sua transação!
    Detalhes do erro:
    
         Código do erro: 001
         Mensagem: 
    O XML informado não é valido:
    - Invalid boolean value '': ''

  19. Ainda não consegui e grato na quem puder contribuir.

    Todo xml que eu coloco da pagina em branco.

    E, quando vou ver o que tem em Exibir-> codigo fonte, dá isso:

    string(194) "<?xml version="1.0" encoding="ISO-8859-1"?>
    <erro xmlns="http://ecommerce.cbmp.com.br"><codigo>001</codigo><mensagem>XML inválido: 'error: XML declaration is not well-formed'.</mensagem></erro>
    "
    int(0)
    string(0) ""
    Seguindo no manual da Cielo. Cheguei nesse xml:
    <?php
     /**
     * Template do XML que será usado para criação da mensagem
     */
     $autenticacao ='
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <requisicao-transacao id="1" versao="1.0.0" xmlns="http://ecommerce.cbmp.com.br">
            <dados-ec>
                    <numero>1001734898</numero>
                    <chave>e84827130b9837473681c2787007da5914d6359947015a5cdb2b8843db0fa832</chave>
                    <nome>eden</nome>
                    <codigo-pais>097</codigo-pais>
            </dados-ec>
            <dados-portador>
                    <numero>285813768<</numero>
                    <validade>201212</validade>
                    <indicador>1</indicador>
                    <codigo-seguranca>1</codigo-seguranca>
                    <nome-portador>José Elias</nome-portador>
            </dados-portador>
            <dados-pedido>
                    <numero>23</numero>
                    <valor>100</valor>
                    <moeda>986</moeda>
                    <data-hora>'.date("Y-m-d").'T'.date("H:i:s").'</data-hora>
                    <descricao></descricao>
                    <idioma>PT</idioma>
            </dados-pedido>
            <forma-pagamento>
                    <bandeira>1</bandeira>
                    <produto>1</produto>
                    <parcelas>1</parcelas>
            </forma-pagamento>
            <url-retorno>http://localhost/php/silvinhoeletronica.com.br/retorno_cartao.php</url-retorno>     
            <autorizar>2</autorizar>
            <capturar>false</capturar>
            <campo-livre></campo-livre>
            <bin>813768</bin>        
    </requisicao-transacao>
         ';
    
     $afiliacao = 123456;
     $chave = 'chave';
     $loja = 'Sua Loja';
     $pedido = 123;
     $valor = 100;
     $data = strftime( '%Y-%m-%dT%H:%M:%S' );
     $produto = '1';
     $parcelas = 1;
     $retorno = sprintf( 'http://teste.sualoja.com.br/pedido/%d' , $pedido );
     $mensagem = sprintf( $autenticacao , $afiliacao , $chave , $loja , $pedido , $valor , $data , $produto , $parcelas , $retorno );
     $curl = curl_init();
    
     if ( is_resource( $curl ) ){
            curl_setopt($curl, CURLOPT_CAINFO, getcwd() .
                "/ssl/VeriSignClass3PublicPrimaryCertificationAuthority-G5.crt");
            curl_setopt($curl, CURLOPT_SSLVERSION, 3);
         
            curl_setopt( $curl , CURLOPT_HEADER , 0 );
            curl_setopt( $curl , CURLOPT_RETURNTRANSFER , 1 );
            curl_setopt( $curl , CURLOPT_FOLLOWLOCATION , 1 );
            curl_setopt( $curl , CURLOPT_URL , 'https://qasecommerce.cielo.com.br/servicos/ecommwsec.do' );
            curl_setopt( $curl , CURLOPT_POST , 1 );
            curl_setopt( $curl , CURLOPT_POSTFIELDS , http_build_query( array( 'mensagem' => $mensagem ) ) );
    
            $xml = curl_exec( $curl ); $ern = curl_errno( $curl ); $err = curl_error( $curl );
    
            curl_close( $curl );
    
            if ( (bool) $ern ){
                    echo 'Opz, ocorreu um erro[' , $ern , ']: ' , $err;
            } else {
                    var_dump( $xml , $ern , $err );
            }
     } else {
            echo 'Opz, não foi possível criar o recurso da cURL';
     }
    ?>

    Obrigado ESerra.

×
×
  • Criar Novo...