jumpo 0 Denunciar post Postado Abril 16, 2015 Olá pessoal , precisava de uma ajuda em criar filtro tipo no input ao coloca código com 6 digito e verificar se tem esse código na tabela se tem abrir .. caminho 1 se não tem informar que não existe mas nesse mesmo input se digitar outro código com 12 digito verificar em outra tabela. alguém tem uma ideia para poder me ajudar. Compartilhar este post Link para o post Compartilhar em outros sites
Gavaldão 14 Denunciar post Postado Abril 16, 2015 O que seria esse caminho Compartilhar este post Link para o post Compartilhar em outros sites
jumpo 0 Denunciar post Postado Abril 16, 2015 <?php $cd = $_POST["cod"]; $result2= mysql_query ("SELECT * FROM Roteiro where cod='$cd' limit 1 ") or die ("não foi possivel fazer a pesquina no banco"); $conta = mysql_num_rows($result2); while ($rowsec = mysql_fetch_assoc($result2)) { $cds = $rowsec['cod']; if($rowsec){ Caminho 1 header("Location: receber_cod.php?codigo=".$cd .""); } if($conta == 1) { header("Location: validaMat.php?codigo=".$cd .""); } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Gavaldão 14 Denunciar post Postado Abril 16, 2015 Vc tem repetição de cor nessa tabela? Cod Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Abril 17, 2015 Conte as quantidades de caracteres que estão na variável com strlen(); e faça o condicional com IF, exemplo: if(strlen($campo) <= 6) { // caminho 1 }elseif(strlen($campo) >= 12) { //caminho 2 } Compartilhar este post Link para o post Compartilhar em outros sites
jumpo 0 Denunciar post Postado Abril 17, 2015 Então eu fiz dessa forma para testar .. <?php $cds = $_POST["cod"]; if(strlen($cds) <= 6) { header("Location: receber.php?codigo=".$cds .""); }elseif(strlen($cds) >= 18) { header("Location: validaMat.php?codigo=".$cds .""); } ?> com o código de 6 dígitos funciona de boa / se for digitar o código de 18 dígitos ele não vai para página validaMat.php. Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Abril 17, 2015 Debug o código, veja se realmente tem 18 caracteres. echo strlen($_POST['cod']); exit(); Compartilhar este post Link para o post Compartilhar em outros sites
jumpo 0 Denunciar post Postado Abril 17, 2015 sim ele tem 18 caracteres. 1º cod: 584920 --> 6 2º Cod: 000000003920585001 --> 18 Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Abril 17, 2015 Se esses códigos tem tamanho exato então mude: elseif(strlen($cds) >= 18) para elseif(strlen($cds) == 18) Compartilhar este post Link para o post Compartilhar em outros sites
jumpo 0 Denunciar post Postado Abril 17, 2015 Não funcionou fiz a mudança como você me passou mesmo assim ele não pula para o elseif. Bom alterei dessa forma }elseif(strlen($cds) >18) e funcionou. <?php $cds = $_POST["cod"]; if(strlen($cds) <= 6) { header("Location: receber.php?codigo=".$cds .""); }elseif(strlen($cds) >18) { header("Location: validaMat.php?codigo=".$cds .""); } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Gavaldão 14 Denunciar post Postado Abril 17, 2015 Tente assim <?php $cds = $_POST["cod"]; if(strlen($cds) <= 6) { header("Location: receber.php?codigo=".$cds .""); }else{ if(strlen($cds) >= 18) { header("Location: validaMat.php?codigo=".$cds .""); } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Abril 17, 2015 OK. Mais deveria funcionar, estranho. Compartilhar este post Link para o post Compartilhar em outros sites
Gavaldão 14 Denunciar post Postado Abril 17, 2015 Pra tirar nossa duvida. O campo de sua tabela é INT ou o que. Compartilhar este post Link para o post Compartilhar em outros sites