Ir para conteúdo
Fórum Script Brasil

svjets

Membros
  • Total de itens

    216
  • Registro em

  • Última visita

Tudo que svjets postou

  1. Refazendo o código já que só há um tipo de uma única cor para cada loja. <?php require "config.php"; $ctrl_loja=""; $sql="SELECT * FROM estoque ORDER BY loja,tipo,cor"; $query=mysql_query($sql); $total=mysql_num_rows($query); if($total) { echo "Quantidade de registros encontrados: ".$total."<br /><br />"; } else { echo "Nenhum registro encontrado!"; exit; } while($res=mysql_fetch_array($query)) { $loja=$res['loja']; $tipo=$res['tipo']; $cor=$res['cor']; $qtde=$res['qtde']; if($ctrl_loja != $loja) { echo "<br />Loja ".$loja." tem<br />\n"; $ctrl_loja=$loja; $cor=""; } echo $qtde." ".$tipo." da cor ".$cor."<br />; } ?>
  2. Seus usuário e senha do mysql estão errados.
  3. Tente colocar "ob_start();", sem as aspas como primeiro comando do script.
  4. Tendo já as quantidades definidas fica mais simples: <?php require "config.php"; $ctrl_loja=""; $ctrl_tipo=""; $ctrl_cor=""; $sql="SELECT * FROM estoque order by loja asc,tipo asc,cor asc"; $query=mysql_query($sql); $total=mysql_num_rows($query); if($total) { echo "Quantidade de registros encontrados: $total"; } else { echo "Nenhum registro encontrado!"; exit; } while($res=mysql_fetch_array($query)) { $loja=$res['loja']; $tipo=$res['tipo']; $cor=$res['cor']; $qtde=$res['qtde']; if($ctrl_loja != $loja) { echo "Loja".$loja."<br />\n"; $ctrl_loja=$loja; $tipo=""; $cor=""; } if($ctrl_tipo != $tipo) { echo "Tipo ".$tipo."<br />\n"; $ctrl_tipo=$tipo; } if($ctrl_cor != $cor) { echo "Quantidade da cor ".$cor.": ".$qtde."<br /><br />"; $ctrl_cor=$cor; } } ?>
  5. Cara esse código meu tá meio bichado mesmo, fiz meio correndo e deu nisso, teste aí: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="scripts/estilos.css" rel="stylesheet" type="text/css" media="all" /> <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> <script type="text/javascript"> //executando a função para selecionar o produto function busca_linha() { document.FormMail.linha[0].selected=true; document.FormMail.submit(); } </script> </head> <body> <form action="" id="FormMail" name="FormMail" method="post"> <table width="100%" border="0" cellspacing="3" cellpadding="0"> <tr> <td align="right" width="50%"> <div class="margem_produtos"> <select name="produto" id="produto" onchange="java script:busca_linha()"> <?php echo "<option value=\"0\">Selecione o produto desejado</option>"; include ("conecta.php"); //selecionando os dados da tabela produtos ordenado por id $sql = "SELECT * FROM produtos ORDER BY id ASC"; //Executando o codigo mysql e caso tenha erro sera mostrada uma msg $qr = mysql_query($sql) or die (mysql_error()); //Listando os produtos while ($ln = mysql_fetch_assoc($qr)) { if($_POST['produto'] == $ln['id']) { echo '<option value="'.$ln['id'].'" selected>'.htmlentities($ln['id']." - ".$ln['descricao']).'</option>'; } else { echo '<option value="'.$ln['id'].'">'.htmlentities($ln['id']." - ".$ln['descricao']).'</option>'; } } ?> </select> </div> </td> <td align="left" width="50%"> <div class="margem_produtos"> <select name="linha" id="linha"> <?php if(!empty($_POST['produto']) AND (empty($_POST['linha']) OR $_POST['linha'] == 0)) { //aqui faz a busca da linha de acordo com o especificado no primeiro select //Recuperando a variável estado $produto = $_POST['produto']; //Selecionando dados da tabela cidade ordenado por nome $sql = "SELECT l.id, l.linha from grupo_linhas gl INNER JOIN linhas l INNER JOIN produtos p where gl.id=p.grupo_linhas AND gl.id=l.grupo_linhas AND p.id=$produto"; //Executando o código mysql e caso tenha erro será mostrada uma msg $qr = mysql_query($sql) or die (mysql_error()); /*echo '<pre>'; print_r($_POST); echo '</pre>'; die('morri');*/ //Verificando se a tabela cidades tem dados cadastrados if (mysql_num_rows($qr) == 0){ echo '<option value="0">Não há linhas para este produto</option>'; }else{ echo '<option value="0">Selecione a Linha</option>'; while ($ln = mysql_fetch_assoc($qr)){ echo '<option value="'.$ln['id'].'">'.$ln['id']." - ".$ln['linha'].'</option>'; } } } else { echo "<option value=\"0\" disabled=\"disabled\">Selecione o produto</option>"; } ?> </select> </div> </td> </tr> <tr> <td colspan="2" align="center"> <div class="margem_produtos"> <input type="submit" name="btn_buscar" id="btn_buscar" value="Buscar..." class="btnForm" /> </div> </td> </tr> </table> </form> <? /*echo '<pre>'; print_r(@$_POST); echo '</pre>'; die('lalalalala');*/ if(@$_POST['produto'] AND @$_POST['linha'] != 0) { $produto = $_POST['produto']; $linha = $_POST['linha']; echo "ID Produto: ".$produto."<br>"; echo "ID Linha: ".$linha; } ?> </body> </html> Acho que agora dá.
  6. Teste tirar isso do java script: $(document).ready(function(){ $("select[name=produto]").change(function(){ $("select[name=linha]").html('<option value="0">Carregando...</option>'); $.post("linhas.php", {produto:$(this).val()}, function(valor){ $("select[name=linha]").html(valor); }) }) })
  7. Teria problema de você postar todo o código teu aqui?
  8. Onde tem "if($_POST['produto'] AND " troca por "if(!empty($_POST['produto']) AND " e vê se melhora. Ah, esqueci de fechar o formulário no meu código, você fez isso né?
  9. O $_POST['produto'] está sendo retornado corretamente?
  10. Mais um erro detectado, era: if($_POST['produto'] AND $_POST['linha'] = 0)) Coloca: if($_POST['produto'] AND $_POST['linha'] == 0)
  11. Troque: while ($ln = mysql_fetch_assoc($qr)) { echo '<option value="'.$ln['id'].'">'.htmlentities($ln['id']." - ".$ln['descricao']).'</option>'; } Por: while ($ln = mysql_fetch_assoc($qr)) { if($_POST['produto'] AND $_POST['produto'] == ln['id']) { echo '<option value="'.$ln['id'].'" selected>'.htmlentities($ln['id']." - ".$ln['descricao']).'</option>'; } else { echo '<option value="'.$ln['id'].'">'.htmlentities($ln['id']." - ".$ln['descricao']).'</option>'; } }
  12. Na verdade, o que eu pensei é submeter o formulário a cada modificação feita. No primeiro "select" colocando "onchange" = "java script:document.FormMail.submit()" E em todos os divs colocar um if para testar se houve o POST daquele campo, se sim, habilita o próximo fazendo a busca usando como regra o valor enviado. Por exemplo: <form action="" method="post" name="FormMail"> <div> <select name="produto" id="produto" onchange="java script:busca_linha()"> <?php echo "<option value=\"0\">Selecione o produto desejado</option>"; include ("conecta.php"); //selecionando os dados da tabela produtos ordenado por id $sql = "SELECT * FROM produtos ORDER BY id ASC"; //Executando o codigo mysql e caso tenha erro sera mostrada uma msg $qr = mysql_query($sql) or die (mysql_error()); //Listando os produtos while ($ln = mysql_fetch_assoc($qr)) { echo '<option value="'.$ln['id'].'">'.htmlentities($ln['id']." - ".$ln['descricao']).'</option>'; } ?> </select> </div> <div> <select name="linha" id="linha"> <?php if($_POST['produto'] AND $_POST['linha'] = 0)) { //aqui faz a busca da linha de acordo com o especificado no primeiro select } else { echo "<option value=\"0\" disabled=\"disabled\">Selecione o produto</option>"; } ?> </select> </div> <div class="margem_produtos"> <input type="submit" name="btn_buscar" id="btn_buscar" value="Buscar..." class="btnForm" /> </div> <? if(($_POST['produto'] AND $_POST['linha'] != 0) { echo "<div id=\"div_teste\" name=\"div_teste\" style=\"border: solid 2px #000; display: none;\">"; $produto = $_POST['produto']; $linha = $_POST['linha']; echo "ID Produto: ".$produto."<br>"; echo "ID Linha: ".$linha; echo "</div>"; } ?> A função busca_linha() seria: function busca_linha() { document.FormMail.linha.value=0; document.FormMail.submit(); } Acho que assim dará certo. Como bem comentado aqui (http://scriptbrasil.com.br/forum/index.php?showtopic=156137) dá para fazer isso com ajax, pelo o que parece, nesse caso não precisaria ficar recarregando a página.
  13. Cara, pensei no seguinte, tem que testar: <?php require "config.php"; $ctrl_loja=""; $ctrl_tipo=""; $ctrl_cor=""; $soma=0; $sql=("SELECT * FROM estoque order by loja asc,tipo asc,cor asc); $query=mysql_query($sql); $total=mysql_num_rows($query); if($total) { echo "Quantidade de registros encontrados: $total"; } else { echo "Nenhum registro encontrado!"; exit; } while($res=mysql_fetch_array($query) { $loja=$res['loja']; $tipo=$res['tipo']; $cor=$res['cor']; if($ctrl_loja != $loja) { if($ctrl_loja) { echo $soma."\n"; } echo "Loja".$loja."\n"; $ctrl_loja=$loja; $tipo=""; $cor=""; } if($ctrl_tipo != $tipo) { echo "Tipo ".$tipo."\n"; $ctrl_tipo=$tipo; } if($ctrl_cor != $cor) { echo "Quantidade da cor ".$cor.":"; $ctrl_cor=$cor; $soma=1; } if($ctrl_loja == $loja AND $ctrl_tipo == $tipo AND $ctrl_cor == $cor) { $soma++; } } ?> Não testei, mas deve dar certo.
  14. A estrutura da tabela pega no phpmyadmin caso você já tenha criado a tabela no mysql.
  15. svjets

    Calculo inexato

    Não entendi o por quê disso pois não estará pesando os sacos e sim gerando valores aleatórios para eles ( :D ) mas, considerando que os valores do peso do container, do nº de sacos e da variação do peso possam ser alterados, cira um form como o abaixo: <form action="calcula.php" method="post"> <p>Inserir peso total:</p> <input type="text" name="total" /> <p>Inserir número de sacos:</p> <input type="text" name="sacos" /> <p>Inserir variação do peso:</p> <input type="text" name="delta" /> <input type="submit" value="calcular" /> </form> Considerando apenas pesos inteiros (em Kg), faz o seguinte para o calcula.php: <?php $total=$_POST['total']; $sacos=$_POST['sacos']; $delta=$_POST['delta']; $controle=false; while($controle = false) { $media=$total%$sacos; //pega o valor inteiro da divisão $dif=$delta*2; //quantidade de pesos diferentes possíveis $min=$media-$delta; $max=$media+$delta; $resto=$total; $primeiros=$sacos-5; //para gerar o peso do total de sacos - 5 a fim possibilitar o controle; for($i=0;$i<$primeiros;$i++) { $valor[$i]=rand($min,$max); $resto=$resto-$valor[$i]; } $restomin=$min*5; $restomax=$max*5; if($total > $restomin AND $total < $restomax) { $mediafinal=$resto%5; //vai gerar os 5 ultimos valores sempre com a mesma padronização de variação $difmax=$maximo-$mediafinal; $difmin=$mediafinal-$minimo; if($difmax < $difmin) { $delta=$difmax; } else { $delta=$difmin; } $i=$primeiros; $valor[$i]=$mediafinal-$delta; $i++; $valor[$i]=$mediafinal; $i++; $valor[$i]=$mediafinal+$delta; $i++; $valor[$i]=$mediafinal; $i++; $valor[$i]=$mediafinal; $controle=true; } } ?> Creio que já quebre um galho. Sugeri o código acima porque usando somente o rand() não garantirá que a soma do peso final gerado dê igual ao peso do container.
  16. Uhm, o que você está querendo fazer não é possível com php, já que o php roda dentro do servidor apenas e o que você está querendo fazer é algo no lado do cliente. Para solução do seu caso ou recarrega a página inteira após a seleção dos parâmetros para que o servidor faça a busca dos dados de produto no servidor ou tem que levar as informações de todos os produtos para o cliente já no primeiro acesso e deixá-las ocultas, mostrando só o que for solicitado. Eu sugiro que utilize a primeira opção, já que a segunda pode gerar um volume de dados inuteis muito grande.
  17. Para inserir o encaixe está tudo certo né? Então, para mostrar, basta colocar um if dentro do loop que gera os horários de 15 em 15 minutos para verificar se existe algum registro no banco nos 14 minutos anteriores, tipo, por exemplo: for($i de 00:00 a 24:00 com $i variando de 00:15) if($i-00:15 < $data_registo < $i) { echo $data_registro e $registro } if($data_registro == $i) { echo $data_registro e $registro } else { if($inicio_intervalo <= $i <= $fim_intervalo) echo $data_registro } } }
  18. Estive analizando e acho que o que você quer fazer não tem solução. Creio que a única forma de realizar upload automático de um arquivo seria via ftp. Você tem acesso a fim de alterar o servior de destino?
  19. O arquivo terá sempre o mesmo nome e sempre estará no mesmo diretório? se sim, basta colocar o parâmetro value com o caminho padrão do arquivo no input de tipo file. Para executar de tempos em tempos creio que basta usar o agendador de tarefas (windows) ou o cron (linux) do sistema operacional do servidor para executar a página na frequência que desejar.
  20. svjets

    Dúvida na hora de imprimir

    No mysql_query basta introduzir um "order by data desc, hora desc".
  21. Amigos, depois de uns 4 dias quebrando a cabeça, após escrever o post acima acabei colocando a cabeça para funcionar e descobri o problema em menos de 5 minutos. No meu servidor local, abri o arquivo "my.cnf" que é o de configuração do MYSQL e verifiquei que o valor do "max_allowed_packet" estava setado a 1M. Alterei este valor para 16M e tudo começou a funcionar corretamente. Bom, creio que meu post sirva ao menos para ajudar pessoas que nem eu que não tem tanta experiência. Já vou aproveitar para deixar um comentário sobre o input oculto "MAX_FILE_SIZE" pois nos fóruns da vida muita gente diverge sobre ele e eu considero algo fundamental para um código não parecer muito amador. MAX_FILE_SIZE: <input type="hidden" name="MAX_FILE_SIZE" value="10240000" /> Este input oculto no HTML é interpretado pelas versões mais atuais dos principais browsers (não sei listar versões e nem os browsers). Ele tem a função de evitar que o usuário tente fazer upload de um arquivo maior que o permitido pelo seu sistema. Ele é facilmente burlável pelo lado do usuário, então não é recomendado para ser utilizado como única forma de restrição de tamanho do upload de arquivo. Porém, considero importante a utilização deste input no código pois ele será útil para usuários idôneos que por ventura tentem enviar arquivos maiores que o configurado. Como este campo é interpretado pelo browser, ele faz a verificação do tamanho do arquivo a ser enviado antes do upload, no lado do usuário, poupando o usuário de esperar que o arquivo seja enviado ao servidor para daí ser testado. Espero que este tópico possa ajudar alguém. Abraços.
  22. Olá pessoal, meu problema é o seguinte, tenho um formulário para fazer upload de um arquivo para um banco de dados MYSQL usando PHP. Meu sistema funciona normalmente para arquivos de até 1MB, acima disto ele não armazena o arquivo no BD. Abaixo vou colocar as partes de interesse do código para vocês analisarem e quem sabe me dar uma dica do que pode estar acontecendo. Antes de mais nada, testei inicialmente este código em um servidor pago e tive o problema. Para verificar se não era alguma restrição do servidor, testei também o código no servidor instalado no meu PC. Localmente utilizo o XAMPP 1.5.5 (que tem PHP5 e Apache). No php.ini os valores de post_max_file e upload_max_filesize igual a 16MB. Abaixo o código: FORMULÁRIO DE UPLOAD: <form name="formulario" action="" method="post" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="10240000" /> <div id="pergunta07"> <h2 id="p7" class="pergunta">Se desejar anexar algum arquivo, favor clicar aqui.</h2> <label class="anexar"><input type="file" name="arquivo" size="30" /></label> </div> <div id="botoes"> <input name="" type="submit" value="Enviar" class="botao_ok" /> <input name="" type="reset" value="Limpar" class="botao_limpa" /> </div> </form> CÓDIGO PHP PARA GRAVAR O ARQUIVO NO BD: /*-- Verifica o tamanho do arquivo de upload --*/ if(!$_FILES['arquivo']['size'] ) { echo "O tamanho de arquivo que deseja enviar é muito grande"; exit; } if($_FILES['arquivo']['size'] > 10240000) { echo "O tamanho de arquivo que deseja enviar é muito grande"; exit; } /*-- Salva o arquivo no BD --*/ if(!empty($_FILES['arquivo']['name'])) { $nom1=strtolower($_FILES['arquivo']['name']); $caracteres=array("ç","~","^","]","[","{","}",";",":","´",",",">","<","-","/","|","@","$", "%","ã","â","á","à","é","è","ó","ò","+","=","*","&","(",")","!","#","?","`","ã"," ","©"); $nom=str_replace($caracteres,"",$nom1); $tp=$_FILES['arquivo']['type']; $fp=fopen($_FILES['arquivo']['tmp_name'], 'r'); $arq=fread($fp,$_FILES['arquivo']['size']); $arq=addslashes($arq); fclose($fp); $sql=mysql_query("INSERT INTO arquivos (arq_ident,arq_nome,arq_tipo,arq_data) VALUES('$cod2','$nom','$tp','$arq')"); } Eu testei imprimir o valor do erro do upload ($_FILES['arquivo']['error']) e retornou o valor "0", ou seja, o upload está sendo executado corretamente, inclusive verifiquei isso monitorando o diretório temporário para onde o arquivo é salvo, e nele é gerado um arquivo temporário do tamanho do arquivo definido para o upload. Isso dá a entender que o problema é no MYSQL que, por algum motivo, não copia arquivo maior que 1MB. O campo "arq_data" é um MEDIUMBLOB, ou seja, deveria aceitar qualquer arquivo dentro do limite que estabeleci de 10MB no código. Alguém teria alguma ideia de qual é o problema? Seria alguma configuração do MYSQL mesmo? Fico no aguardo.
  23. uma função javascript tem duas variáveis: por exemplo: function teste(i,j) (digamos que i = 12 e j = 0) tenho uma variável qualquer: var vteste = abcdf; como faço para concatenar o valor de vteste com o valor de i e de j formando o valor "abcdf120"?
  24. svjets

    <select> + php

    Pessoal, em uma mesma página preciso colocar duas TAGs "<select>". As opções serão retiradas do banco de dados (isso eu sei fazer). Porém, apoś selecionar uma das opções no primeiro "<select>", esta opção não deve estar disponível na segunda TAG. Por exemplo, digamos que eu tenha 3 opções (valores "1", "2" e "3") como abaixo: <select name="select"> <option value="1">texto1</option> <option value="2">texto2</option> <option value="3">texto3</option> </select> Digamos que eu selecione a opção de valor "2" no primeiro "<select>", automaticamente ela deverá ficar indisponível no segundo "<select>", como abaixo: <select name="select"> <option value="1">texto1</option> <option value="3">texto3</option> </select> Agora a pergunta, isso é possível ser feito em PHP? Creio que não, mas como meu conhecimento em PHP é limitado não custa perguntar.
×
×
  • Criar Novo...