
Anderuimm
Membros-
Total de itens
9 -
Registro em
-
Última visita
Sobre Anderuimm

Anderuimm's Achievements
0
Reputação
-
Bom, estou alterando uma página ( l2cartago.servegame.com ) e estou com um problema. No IE e no FF ela é exibida normalmente, mas quando aberta no Chrome ou no Opera ela apresenta diversos problemas de alinhamento e falta de backgrounds em células da estrutura. As tais células estão assim no HTML: <td background="index_arquivos/b.gif" bgcolor="#000000" width="1000"></td> Essa b.gif é essa: http://l2cartago.servegame.com/index_arquivos/b.gif Alguém sabe alguma razão de porque ela não está aparecendo nos navegadores que citei? PS.: tentei colocar um style contendo repeat mas não funcionou... ou eu que não coloquei direito...
-
Preciso de umas dicas de como: - importar dinamicamente um arquivo TXT separado por algum caractere (nesse caso pode ser a vírgula), sendo que eu terei na primeira 'coluna' um ID e nas demais uma série de telefones, porém não tenho como prever a quantidade de telefones. Ele seria mais ou menos assim: O arquivo em TXT seria mais ou menos assim: ID1,Fone1a,Fone1b ID2,Fone2a ID3,Fone3a,Fone3b,Fone3c Como tem que ser importado para a tabela: ID1 | Fone1a ID1 | Fone1b ID2 | Fone2a ID3 | Fone3a ID3 | Fone3b ID3 | Fone3c Estou com esse sctipr de Upload, tentando adaptar ele mas ainda não consegui fazer funcionar... esse apenas 'joga' os dados do arquivo dentro do DB. $separador='|'; // Esse é o separador do arquivo $tabela = "temptable"; // Nome da tabela temporária $arquivo = $_POST['FileLocation']; // Esse arquivo tem que ser um upload! $arq = fopen($arquivo,'r'); while(!feof($arq)) for($i=0; $i<1; $i++) { if ($conteudo = fgets($arq)) { $ll++; $coluna = explode($separador, $conteudo); } $sql = "UPDATE $tabela SET teste1=$coluna[0] teste2=$coluna[1] teste3=$coluna[2]"; //$sql = "INSERT INTO $tabela (teste1, teste2, teste3) VALUES ('$linha[0]', '$linha[1]', '$linha[2]')"; $result = mysql_query($sql) or die(mysql_error()); $coluna = array();// linpa o array de $coluna e volta para o for } echo "Quantidade de Importações: ".$ll; (Script obtido em outro fórum... o usuário é o Felipe Carvalho [vulgo designfelipe], mas como não sei se pode colocar nome de outro Fórum não colocarei a fonte)
-
Quando eu mando imprimir a variável que ele envia no $_GET ele não imprime o símbolo de '+' que está no código do produto. PS.: a expressão que coloquei, $_POST['cod_produto'] = M7+, era apenas para mostrar qual valor que a variável assumia, e não uma expressão lógica contida no código. Na verdade ela seria $_GET ao invés de $_POST. Tem jeito de ajeitar isso ou o $_GET não fuciona mesmo quando tem sinais matemáticos no valor da string? -- EDIT -- Só pra deixar uma resolução, resolvi o problema adicionando um código numérico na tabela pra usar como referência como código quando tiver de usá-lo em $_GET, porqu eo GET não suporta valores que contenham símbolos lógicos ou matemáticos.
-
Ele funciona assim: tenho uma função que lista todos produtos em options dentro de um Select, tendo como value o cod_produto. Quando uma option é selecionada ele envia o cod_produto via $_GET pra dentro de um div que carrega um script mais abaixo na página. Segue em abaixo os codigos de ambas as paginas: Pagina que cria a lista <form action="../../cli.php?d=detalha_pedido.php" method="POST" target="cliped" onsubmit="window.open('','cliped','width=770,height=580'); window.close();"> <title>Aldicionar Produto</title> <?php require_once( './conn.php' ); //FILTRO DE PRODUTO $select_produtos=mysql_query("SELECT * FROM produtos WHERE obsoleto<>'1'", $link) or die (mysql_error()); $array_mun=mysql_fetch_array($select_produtos); ?> <script type="text/javascript" src="js/scriptaculous/prototype.js"></script> <script type="text/javascript"> //<![CDATA[ function CarregaProdutos( SelectProduto, div_destino ) { // Nova requisição AJAX do prototype new Ajax.Request('add_produto_pedido2.php?produtoId=' + SelectProduto.value, { method : 'get', onCreate:function() { $(div_destino).innerHTML = 'Carregando Produtos <img src="../../imagens/ajax_clock_small.gif" />'; }, // onCreate onComplete : function(transport) { if(transport.status==200) { $(div_destino).innerHTML = transport.responseText; } // transport.status } // onComplete }); // ajax Request } // function CarregaCidades //]]> </script> <select id="produto" name="produto" onChange="CarregaProdutos(this, 'lista_produtos')"> <option selected="selected" value="null">Selecione um Produto</option> <?php $Consulta = mysql_query( "SELECT * FROM produtos WHERE obsoleto<>'1' ORDER BY descricao ASC" ) or die (mysql_error()); while ($Produto = mysql_fetch_object( $Consulta ) ) { printf('<option value="%s">%s</option>', $Produto->cod_produto, $Produto->descricao ); } ?> </select> <div id="lista_produtos">Selecione um Produto para ver suas Informacoes</div> <!-- ESSE DIV É TRANSFORMADO QUANDO UMA OPTION É SELECIONADA --> <input type="hidden" name="cod_cliente" value="<?php echo $_POST['cod_cliente']; ?>" > <input type="hidden" name="cod_pedido" value="<?php echo $_POST['cod_pedido']; ?>" > </form> Aqui o que aparece dentro do DIV: <?php require_once ( './conn.php' ); $cod_produto = $_GET['produtoId']; $Consulta = mysql_query( "SELECT * FROM produtos WHERE cod_produto='".$cod_produto."' " ) or die (mysql_error()); #echo "SELECT * FROM produtos WHERE cod_produto='".$cod_produto."' "; $Produto = mysql_fetch_array( $Consulta ); echo "Produto: <b>{$_GET['produtoId']} - {$Produto['descricao']}</b><br> Quantidade em Estoque: <b>{$Produto['unidades_estoque']}</b><br> Reservas: <b>{$Produto['reservas']}</b><br>"; $DISP=$Produto['unidades_estoque']-$Produto['reservas']; echo "Disponivel: <b>{$DISP}</b><br>"; ?> <input type="text" name="quantidade" /> <input type="hidden" name="valor" value="<?php echo $Produto['custo_unitario']; ?>" /> <input type="hidden" name="reservas" value="<?php echo $Produto['reservas']; ?>" /> <input type="hidden" name="add_produto_pedido" value="1" /> <input type="hidden" name="descricao" value="<?php echo $Produto['descricao']; ?>" /> <input type="hidden" name="disponivel" value="<?php echo $DISP; ?>" /> <input type="hidden" name="cod_produto" value="<?php echo $cod_produto; ?>" /> <input type="submit" value="Adicionar" /> Resultado: Na lista de options ele mostra todos os codigos corretamente, mas o $_GET não recebe o tal sinal de '+' ou '-' ou outros caracteres especiais/matematicos que estejam no fim da string enviada.
-
Tenho uma query que deve selecionar por Codigo de Produto. Porem tenho um problema: alguns produtos tem caracteres especiais, como: Considere-se que: $_POST['cod_produto'] = M7+ e M7 <> M7+ Quando executo essa query... $prod=mysql_query("SELECT * FROM produtos WHERE cod_produto='{$_POST['cod_produto']}'") or die (mysql_error()); ele me retorna os valores da linha aonde esta o codigo M7. Detalhe: produtos.cod_produto está como varchar(10), é chave primária na tabela e não posso altera-los porque eles são vinculados ao registro do produto junto à ANVISA. Alguém sabe como posso solucionar este problema?
-
Valeu MESMO!
-
O sistema em que estou trabalhando (MySQL+PHP) devera executar uma funcao que exporte os dados para gerar Notas Fiscais Eletronicas no site da Receita Federal. Pra evitar de ter de usar um programa de um terceiro eu gostaria de saber se há a possibilidade de fazer o PHP gerar diretamente essa XML e dar a opcao de Download para o usuario, e se algum usuario do Forum já desenvolveu algo do genero. Obrigado pela atencao.
-
Encontrei o erro... e foi burrice mesmo, erro de logica. A tive de alterar isso e ele agora funciona normal: De: if ($_POST[$nomeqt]<=$_POST[$nomeest]) // $nomeest EHA QUANTIDADE TOTAL EM ESTOQUE { #SET-UP DE VARIAVEIS PRA INSERCAO $sobras=$sobras-$_POST[$nomeqt]; // CALCULA QUANTO SOBRA NO PEDIDO $memo="Alterado pedido:<BR>Lote: <b>".$_POST[$nomelote]."</b><br>Quantidade adicionada: <b>".$_POST[$nomeqt]."</b><br><i>Quantidade referente a alteração de lote.</i>"; . . . $altpedido=mysql_query("UPDATE detalhepedido SET quantidade='{$sobras}' WHERE cod_pedido='{$_POST['cod_pedido']}' AND cod_para_nf='{$_POST['cod_produto']}' AND quantidade='{$_POST['quantidadeOLD']}' AND num_lote='0' ") or die (mysql_error()); // alterado AND quantidade='{$_POST['quantidadeOLD']}' PARA [code[ if ($_POST[$nomeqt]<=$_POST[$nomeest]) // $nomeest EHA QUANTIDADE TOTAL EM ESTOQUE { ##SET-UP DE VARIAVEIS PRA INSERCAO $sobrasOLD=$sobras; // << Linha adicionada $sobras=$sobras-$_POST[$nomeqt]; $memo=Alterado pedido:<BR>Lote: <b>".$_POST[$nomelote]."</b><br>Quantidade adicionada: <b>".$_POST[$nomeqt]."</b><br><i>Quantidade referente a alteração de lote.</i>"; . . . $altpedido=mysql_query("UPDATE detalhepedido SET quantidade='{$sobras}' WHERE cod_pedido='{$_POST['cod_pedido]}' AND cod_para_nf='{$_POST['cod_produto']}' AND quantidade='{$sobrasOLD}' AND num_lote='0' ") or die (mysql_error()); // para AND quantidade='{$sobrasOLD}'[\code] Ele não estava usando o valor decrescido, mas sim apenas o ultimo valor do somatorio. Agora o script funciona corretamente. Obrigado, podem fechar o tópico, por favor.
-
Bom dia. Estou desenvolvendo um SIG em uma empresa e uma parte de um Script esta pegando no meu pe. não sei exatamente o porque ele não esta funcionando, estou desde ontem de manha olhando ele e etentando fazer ele funcionar. É assim: Um formulário lista uma série de lotes de produtos em uma tabela. Dentro desta tabela há campos hidden que guardam as informações como número de lote, código do produto e entre outros que deverão ser enviados para o segundo formulário via POST. Cada campo é nomeado de acordo com referência e linha, digamos cod_prod1, cod_prod2, assim por diante, sendo que esse número do nome é definido por uma variável incrementada durante o a montagem da tela, dentro do while, mais ou menos assim: $conter=0; $estoques=''; echo "<br><table border=\"1\" bordercolor=\"#000000\" cellpadding=\"0\" cellspacing=\"0\" ><tr bordercolor=\"#000000\" > <th bordercolor=\"#000000\" border=\"1\">   Sim   </th> <th bordercolor=\"#000000\" border=\"1\">   Lote   </th> <th bordercolor=\"#000000\" border=\"1\">   Data   </th> <th bordercolor=\"#000000\" border=\"1\">   Estocado   </th> <th bordercolor=\"#000000\" border=\"1\">   Retirado   </th> </tr>"; ##### LISTAGEM DE LOTES COM NOMENCLATURA DINAMICA DE CAMPOS while ($estoques=mysql_fetch_array($encontralotes)) { $conter=$conter+1; echo "<tr> <td align=\"center\"><input type=\"checkbox\" name=\"add{$conter}\" /></td> <td align=\"center\" ><input type=\"hidden\" name=\"lote{$conter}\" value=\"{$estoques['lote']}\" >   <b>{$estoques['lote']}</b>   </td> <td align=\"center\" >   <b>{$estoques['data_lote']}</b>   </td> <td align=\"center\" ><input type=\"hidden\" name=\"est{$conter}\" value=\"{$estoques['quantidade']}\"   ><b>{$estoques['quantidade']}</b>   </td> <td align=\"center\" > <input type=\"text\" name=\"qt{$conter}\" size=\"7\" > </td> </tr>"; } ##### FIM DA LISTAGEM DE LOTES echo "</table>"; Bom, espero que de pra entender com essa parte o esquema da nomenclatura de campos. Enfim, o problema é no segundo formulario. Abaixo esta a parte do codigo que esta com problemas: $contador=$_POST['conter']; // sim, é 'conter' mesmo, e não 'counter'. Digamos que o $contador seja 3 # AGORA SABEMOS O TOTAL DE MAXIMO DE LOTES QUE PODEM SER SELECIONADOS # ASSIM O LACO já TEM UM SET-UP PRA FAZER O RETURN CERTO DE VEZES # SEM CAUSAR UM LOOP INFINITO OU MAIOR QUE O NECESSARIO // ELE TERA DE EXECUTAR TUDO DENTRO DESSE LACO PARA // PEGAR UM A UM, TESTAR ELE PELA ORDEM E EXECUTAR $sobras=$_POST['quantidadeOLD']; // esse $_POST é a quantidade solicitada no pedido while ($contador>0) { // AQUI ELE MONTA OS NOMES COMPOSTOS DOS CAMPOS REFERENTES AO CONTADOR $nomeadd='add'.$contador; // com $contador=3 , $nomeadd = add3, na proxima volta add2 e assim por diante $nomelote='lote'.$contador; // o mesmo vale para os demais, isso para acompanhar o nome dado no form anterior $nomeest='est'.$contador; $nomeqt='qt'.$contador; # AVERIGUA SE O CHECKBOX DESTA POSICAO ESTAVA MARCADO NO FORM ANTERIOR if (isset($_POST[$nomeadd])) { #AQUI ELE VAI CONFERIR A CONTAGEM. // não PODE SER MAIOR QUE O TOTAL // não PODE SER MAIOR QUE O EM ESTOQUE if ($_POST[$nomeqt]<=$sobras) // $nomeqt é A QUANTIDADE TOTAL FEITA NO PEDIDO { if ($_POST[$nomeqt]<=$_POST[$nomeest]) // $nomeest EHA QUANTIDADE TOTAL EM ESTOQUE { #SET-UP DE VARIAVEIS PRA INSERCAO $sobras=$sobras-$_POST[$nomeqt]; // CALCULA QUANTO SOBRA NO PEDIDO $memo="Alterado pedido:<BR>Lote: <b>".$_POST[$nomelote]."</b><br>Quantidade adicionada: <b>".$_POST[$nomeqt]."</b><br><i>Quantidade referente a alteração de lote.</i>"; $addprod=mysql_query("INSERT INTO detalhepedido (cod_cliente, cod_pedido, cod_para_nf, num_lote, desc_para_nf, unidade, quantidade, valor_unit, aliq_icms) VALUES ('{$_POST['cod_cliente']}','{$_POST['cod_pedido']}','{$_POST['cod_produto']}','{$_POST[$nomelote]}','{$_POST['desc_produto']}','{$_POST['unidade']}','{$_POST[$nomeqt]}','{$_POST['valorunit']}','0') ") or die (mysql_error()); $addobs=mysql_query("INSERT INTO observ_pedidos (user, dia, mes, ano, hora, obs, cod_pedido) VALUES ('{$_SESSION['login']}','{$dia}','{$mes}','{$ano}','{$hora}','{$memo}','{$_POST['cod_pedido']}')") or die (mysql_error()); if ($sobras==0) { $deletazerado=mysql_query("DELETE FROM detalhepedido WHERE quantidade='0'") or die (mysql_error()); } else { $altpedido=mysql_query("UPDATE detalhepedido SET quantidade='{$sobras}' WHERE cod_pedido='{$_POST['cod_pedido']}' AND cod_para_nf='{$_POST['cod_produto']}' AND quantidade='{$_POST['quantidadeOLD']}' AND num_lote='0' ") or die (mysql_error()); } ############### } else { echo "<script type=\"text/javascript\"> alert('Quantidade solicitada é maior que a quantidade em estoque para o lote ".$_POST[$nomelote].".'); </script>"; } } else { echo "<script type=\"text/javascript\"> alert('Quantidade solicitada é maior que a do pedido para o lote ".$_POST[$nomelote].".'); </script>"; } #RETIRA QUANTIDADE DO TOTAL E DO ESTOQUE E DO PEDIDO EM SI // SE O ESTOQUE 0 FICAR COM QUANTIDADE ZERADA, FINALIZA AQUI // FAZENDO O CONTADOR RECEBER '0' E FINALIZAR O LACO // TAMBEM DELETA O LOTE '0' DO PEDIDO } $contador=$contador-1; } O que acontece é que esse ultimo if não atualiza corretamente a tabela. A variavel $sobras é calculada corretamente (chequei dando echo nela em todos os lacos e ela é decrementada corretamente). Acontece que se eu colocar nesse laco mais de um valor decremental é como se a linha que diz $sobras=$_POST['quantidadeOLD']; se executasse dentro de cada retorno do While, o que acaba que não atualiza a tal linha da tabela e duplica os dados, como se ela fosse atualizada apenas na ultima volta do laço mas com o valor anterior ao decrecimo do $sobras. não sei se esta bem claro o problema, estou com a cabeça cheia desse script, mas há algum erro dentro desse while que eu não tenha percebido?