
reinaldojr
Membros-
Total de itens
7 -
Registro em
-
Última visita
Tudo que reinaldojr postou
-
[RESOLVIDO] Consulta com seleção multipla de Checkbox
pergunta respondeu ao reinaldojr de reinaldojr em PHP
:rolleyes: < RESOLVIDO> Edgar... esse echo count($_POST["sboleto"]); , me ajudou a enxergar o problema. O que acontecia era o seguinte: no final da rotina de boleto do pessoal do BoletoPhp, que eu adaptei ao meu sistema, eu dava 2 includes em 2 arquivos, um com o layout do boleto e outro com as funções, só que quando o laço era executado pela primeira vez ele incluia os arquivos e gerava o boleto corretamente, na segunda vez ele já não incluia mais, pois as funcões já estavam declaradas. O que eu fiz foi criar uma variável $tempo = 0; antes do laço e na hora de incluir os arquivos eu criei uma condição pra ele só incluir o arquivo de funções se a variável for igual a 0 aí ele incrementa com $tempo++ . Pronto. Resolvido, tah gerando os boletos cerinho agora. P.S. Fica aki registrado em meu post os créditos para todos do BoletoPhp, principalmente aos Daniel William Schultz / Leandro Maniezo / Rodrigo Dias Pereira que desenvolveram o boleto para o Banco do Brasil. E a você Eserra, muito obrigado mesmo, sem a sua ajuda, com certeza não teria conseguido. Segue abaixo o código final para quem precisar. <?php include ("conecta_mysql.inc"); if(isset($_POST["sboleto"])) { $tempo = 0; foreach($_POST["sboleto"] as $bol => $boleto) { $exec = mysql_query("UPDATE boletos SET impresso=1', nossonum='$nossonumf' WHERE id='$boleto'") or die ("Não foi possível atualizar o boleto!"); $sql = mysql_query("select * from boletos where id='$boleto'"); $linha=mysql_fetch_array($sql); $seunum = $linha['ID]; $datavenc = $linha['datavenc']; $dataproc = $linha['dataproc']; $valordoc = $linha['valordoc']; $nomesacado = $linha['nomesacado']; $endereco = $linha['endereco']; $bairro = $linha['bairro']; $cep = $linha['cep']; $cidade = $linha['cidade']; $estado = $linha['estado']; $docnum = $linha['docnum']; if ($tempo == 0) { include("include/funcoes_bb.php"); $tempo++; } include("include/layout_bb.php"); } } else { echo "Você não selecionou nenhum boleto!"; } -
[RESOLVIDO] Consulta com seleção multipla de Checkbox
pergunta respondeu ao reinaldojr de reinaldojr em PHP
não... ele monta apenas 1 com os dados do primeiro marcado... como se o loop ão funcionasse e ele lesse a rotina uma única vez... -
[RESOLVIDO] Consulta com seleção multipla de Checkbox
pergunta respondeu ao reinaldojr de reinaldojr em PHP
Exibe tudo certinho na tela edgar, ele abre a popup com o boleto montadinho, com os campos nos seus lugares, tudo certo... só que os dados são do primeiro item marcado no checkbox. Na minha consepção, não sei se estou errado porque to trabalhando com PHP a pouco tempo, mas se eu to rodando a rotina toda dentro do foreach ele tem que rodar tantas vezes forem necessárias para que a condição do lop seja verdadeira.. certo?!... tanto é que ele atualiza no banco corretamente... não consigo entender porque ele só manda para visualização o 1 registro marcado pelo checkbox... :wacko: -
[RESOLVIDO] Consulta com seleção multipla de Checkbox
pergunta respondeu ao reinaldojr de reinaldojr em PHP
Bom... dei uma enxugada no código... realmente o for e o while eram desnecessários, da uma olhada como ficou agora Edgar... <? if(isset($_POST["sboleto"])) { foreach($_POST["sboleto"] as $bol => $boleto) { $exec = mysql_query("UPDATE boletos SET impresso='1' WHERE id='$boleto[$i]'") $sql = mysql_query("select * from boletos where id='$boleto[$i]'"); $linha=mysql_fetch_array($sql); $seunum = $linha['ID']; $datavenc = $linha['datavenc']; $dataproc = $linha['dataproc']; $valordoc = $linha['valordoc']; $nomesacado = $linha['nomesacado']; $endereco = $linha['endereco']; $bairro = $linha['bairro']; $cep = $linha['cep']; $cidade = $linha['cidade']; $estado = $linha['estado']; $docnum = $linha['docnum']; // Inicio das Funcoes e Layouts do Boleto // Final das FUncoes e Layouts do Boleto } } else { echo "Você não selecionou nenhum boleto!"; } Tah funcionando da mesma forma e com um código mais enxuto... :D só que quando eu marco mais de um boleto no checkbox ele atualiza na tabela certinho, mas só manda para a impressora o primeiro que eu marquei. Abração Edgar e obrigado... -
[RESOLVIDO] Consulta com seleção multipla de Checkbox
pergunta respondeu ao reinaldojr de reinaldojr em PHP
ehhh... tava olhando aki... realmente suas observações fazem sentido, vou rever meu código, fazer as alterações, testar e posto o resultado. abraço ESerra... Reinaldo. -
[RESOLVIDO] Consulta com seleção multipla de Checkbox
pergunta respondeu ao reinaldojr de reinaldojr em PHP
Obrigado ESerra pela atenção... mas Vamos lá... na página2 eu coloquei os checkboxs com o parâmetro name="sboleto[]" e o value="$id" ou seja ele pega como value o código do boleto cadastrado no banco de dados: "<input type=checkbox name=sboleto[] value='$id'" e na página 3 eu faço o seguinte: <? if(isset($_POST["sboleto"])) // verifico se existe a variável sboleto (chceckbox) { foreach($_POST["sboleto"] as $boleto) // percorro a array até o final e atribuo os valores a variavel $boleto { $imp = count($boleto); // acho a quantidade de registros na array for ($i = 0; $i < $imp; $i++) { // entro no loop para percorrer a array $exec = mysql_query("UPDATE boletos SET impresso='1' WHERE id='$boleto[$i]'") // atualizo a tabela colocando 1 em todos os boletos marcados $sql = "select * from boletos where id='$boleto'"; // faço um select que me retorna o registro selecionado no momento $resultado = mysql_query($sql) or die ("Não foi possível selecionar o boleto!"); // processo a consulta while ($linha=mysql_fetch_array($resultado)) { //realizo um while pra retornar os dados do sacado e colocar em variáveis $seunum = $linha['ID']; $datavenc = $linha['datavenc']; $dataproc = $linha['dataproc']; $valordoc = $linha['valordoc']; $codsac = $linha['codsacado']; $nomesacado = $linha['nomesacado']; $endereco = $linha['endereco']; $bairro = $linha['bairro']; $cep = $linha['cep']; $cidade = $linha['cidade']; $estado = $linha['estado']; $docnum = $linha['docnum']; } // início das funcões e layout do boleto // final das funcoes e layout do boleto } } } else { echo "Você não selecionou nenhum boleto!"; } ?> Observe que o update na tabela funciona direitinho, se eu marcar 4 boletos ele atualiza s 4 na tabela... sem problemas.. A página3 é carregada em uma popup, mostra na tela o boleto e através de um javascript no objeto <body> da página eu já abro a tela de impressão... Eu acho que o erro tah no select que eu dou depois do update, mas como eu posso recuperar os dados do sacado que estão no banco de dados se não for do jeito que estou fazendo?!.. abraços... Reinaldo. -
Senhores.... Antes de mais nada gostaria de agradecer a todos que postam aki e que contribuem para o crecimento da linguagem PHP, pois até então, várias das minhas dúvidas já foram sanadas por aki :D . Esse é o meu primeiro post e depois de vasculhar todo forum não encontrei nada que pudesse me ajudar nessa situação. :( Eu tenho 3 páginas que utilizo para confeccionar boletos para os clientes de um cliente meu. Essas 3 páginas fazem o seguinte: página1.php => nessa página eu tenho um form onde o usuario escolhe um período para listar os boletos que estão prontos para imprimir. página2.php => página que retorna a consulta da página1.php e permite o usuário selecionar o boleto e mandar imprimir. página3.php => página com o boleto propriamente dito. A página2.php é chamada no action da página 1 e é nela que faço um select no banco mysql retornando para o usuário os boletos gerados que estão prontos para serem impressos. No retorno da consulta (select) eu filtro o periodo e listo os boletos numa tabela que atende aquele período selecionado na página1. entendido até aki?!.. blza... vamos a parte complicada...rsrsrs. Em cada linha retornada pela consulta eu coloquei um checkbox para que o usuário possa selecionar o boleto que deseja e coloquei um submit no final da página que chama a página3.php numa popup com o boleto para ele imprimir. Até aki tah tudo funcionando, o problema é quando o usuário marca mais de 1 checkbox, pois eu não consigo fazer ele imprimir os boletos referentes a seleção multipla dos checkboxs. Ele sempre imprime apenas 1 boleto. Pessoal, preciso de idéias para realizar essa tarefa, pois á fiz de tudo, inclusive montei um loop com for que busca os checkboxs marcados e faz um update na tabela colocando o registro como já impresso.. isso também tah funcionando certinho... só não consigo fazer o bendito fazer imprimir... :angry: abraços a todos... Reinaldo Jr.