Ir para conteúdo
Fórum Script Brasil

Diego.G.A

Membros
  • Total de itens

    176
  • Registro em

  • Última visita

Posts postados por Diego.G.A

  1. Eu tive um problema em javascript no qual eu precisava percorrer um array

    com chaves em strings, e o javascript não possui-a nenhuma função que tivesse esta

    funcionalidade de percorrer um array, como o PHP possui.

    E eu acabei por criar a função, e estou postando aqui o código, para

    que todos possam utiliza-las.

    // funções next prev para array
    // FUNÇÂO next()
    function next(arrayAtual,chaveArrayAtual) {
        var next;
        var u;
        var i = 0;
        for(var chave in arrayAtual) {
            if(chave == chaveArrayAtual) {
                var u = i;
                var next = i + 1;
                var prev = i - 1;
            }
            i++;
        }
        if(u == (arrayAtual.length - 1))
            u = 0;
        if(next == arrayAtual.length)
            next = 0;
        var y = 0;
        for(var key in arrayAtual) {
            if((u + 1) == next) {
                if(y == next)
                    return key;    // retorna proxima chave do array
                y++;
            } else if(next == 0) {
                for(chave in arrayAtual)
                    return chave; // retorna a primeira chave do array
            }
        }
    }
    // FUNÇÂO prev()
    function prev(arrayAtual,chaveArrayAtual) {
        var i = 0;
        var prev;
        var u;
        for(var chave in arrayAtual) {
            if(chave == chaveArrayAtual) {
                var u = i;
                var prev = i - 1;
            }
            i++;
        }
        if(u == 0)
            u = arrayAtual.length;
        if(prev == -1)
            prev = arrayAtual.length - 1;
        var v = 0;
        for(var key in arrayAtual) {
            if((u - 1) == prev) {
                if(v == prev)
                    return key;    // retorna a chave anterior do array,
                                // caso seja a ultima retorna a primeira
                v++;
            }
        }
    }
    ///////////////////////////////////////////////////

  2. Seguinte galera eu tenho 3 tabelas

    pdf_fornecedores

    pdf_setores_atuacao_fornecedor

    pdf_descriminacao_fornecedor

    A tabela "pdf_fornecedores" contém os dados principais como nome etc..

    A tabela "pdf_setores_atuacao_fornecedor" contém os setores de atuação dos fornecedores. Referencia a pdf_fornecedores.

    A tabela "pdf_descriminacao_fornecedor" contém as descriminações dos fornecedores. Referencia a pdf_fornecedores.

    Eu montei um sistema de busca avançada que o usuário pede escolher vários setores e varias descriminações, efetuei a busca com o seguinte sql.

    SELECT  * FROM pdf_fornecedores AS T1 LEFT JOIN pdf_setores_atuacao_fornecedor  AS T2 ON T1.IdFornecedor=T2.IdFornecedor LEFT JOIN  pdf_discriminacao_fornecedor AS T3 ON T1.IdFornecedor=T3.IdFornecedor  WHERE T2.IdSetorAtuacao='1' AND T2.IdSetorAtuacao='2' AND  T3.IdDiscriminacaoSetorAtuacao='1' AND  T3.IdDiscriminacaoSetorAtuacao='5' AND  T3.IdDiscriminacaoSetorAtuacao='4' AND T1.IdRegiaoAtuacao='1' AND  T1.RazaoSocial LIKE '%i%' AND T1.NomeFantasia LIKE '%i%' AND T1.CNPJ  LIKE '%2%' AND T1.Status='1'

    só que não foi retornado nada na consulta, mas existem fornecedores que possuem esses dados. E por este motivo a consulta deveria retorna os fornecedores.

    Eu gostaria de saber se alguém pode me ajudar com essa consulta.

  3. Ai galera é o seguinte eu tenho uma função em ajax, que o objetivo dela é retornar true ou false, mas ela não retorna nada.

    segue o código abaixo que chama a função ajax:

    fornecedores.cadastra = function() {
        if(!JValid.cnpj(cnpj)) {
            alert('Informe um CNPJ válido.');
            return false;
        } else {
            if(fornecedores.validaCnpj(cnpj)) {
                alert("Este CNPJ já encontra-se cadastrado.");
                return false;
            }
        }
    }
    função ajax:
    fornecedores.validaCnpj = function(cnpj) {
        $.ajax({
            type: "POST",
            url: "validaCnpj.php",
            data: "cnpj="+ cnpj,
            success: function(msg) {
                var obj = eval("("+ msg +")");
                if(obj.status)
                    return true;
                else
                    return false;
            }
        });
    }
    página php que valida o cnpj:
    <?php
    require("intranet/autoload.php");
    
    $fornecedores = new Fornecedores();
    
    if($fornecedores->write("WHERE CNPJ='".Util::formataNumeroEntrada($_POST['cnpj'])."'"))
        exit("{status: true}");
    else
        exit("{status: false}");
    ?>

    o retorno do php funciona, a conversão em javascript para objetos JSON funciona a verificação se é verdadeiro ou falso funciona, mas na hora de retornar ele não retorna nada.

  4. tenta verificar como esta sendo construído a tua consulta sql,

    faz o seguinte coloca um exite depois do sql tipo

    $sql = (...);
    exit($sql);

    e altera o nome do botão para btprocurar, talvez seja este o problema

    tira isso

    <input name="procurar" type="text" />

    <input name="procurar" type="button" value="procurar" />

    e coloca isso

    <input name="procurar" type="text" />

    <input name="btprocurar" type="button" value="procurar" />

  5. tem que inicializar as sessões na página antes de usa las.

    <?php
    session_start();
      if ($SESSAOlogin) {
         echo "<script>document.location='filiais/index.php'</script>";
                                 }
                                 else  {
                                 ?>
    <?php include('global/sessoes.php'); ?>                            
    <html>
    <head>
    <title><?php echo $title; ?></title>
    <link href="global/stilo.css" rel="stylesheet" type="text/css">  
    </head>
    <body>
    <div align="center">
    <p align="center" class="style6"></p>
    <table width="798" border="0" cellspacing="0" cellpadding="0">
      <tr><td><div align="center"><?php include('global/topo.php'); ?></div></td></tr>
      <tr><td><?php include('cobrancas_conteudo.php'); ?></td></tr>
      <tr><td ><div align="center"><?php include('global/base.php'); ?></div></td></tr>
    </table>
    </div>
    </body>
    </html>
                                
                                     <?    }
                            
    ?>

  6. o erro na exibição dos resultados era porque tu tava fazendo a query mas tu queria lista os itens encontrados direto da query,

    e isso não da, a forma de listagem que tu ta usando seria pelo mysql_fetch_array(), que foi adicionado no teu codigo nesse reajuste que eu fiz.

    <div id="procura">
         <form action="" method="get">
                <input name="procurar" type="text" />
                <input name="procurar" type="button" value="procurar" />
         </form>
            </div>
                    <div id="videos_titulo"><span class="link-paginas">
                    
                        
    <?php
    
    require "conectdbmusica.php";
    
    $palavra = $_POST['procurar'];
    $sql = ("SELECT banda FROM musica WHERE banda LIKE '%".$_POST['procurar']."%'");
    $query = mysql_query($sql);
    while($dds = mysql_fetch_array($query)) {
         print "<strong><a href='bg.php?id={$dds['id_banda']}'>{$dds['banda']}</a></strong> - {$dds['musica']}<br/>";
         print "{$dds['palavras']}<br/>";
         print "{$dds['data']}<p>";
    }
    
    ?>

  7. Eu gostaria de saber para que server o "Aplication"?

    E Se vocês poderiam me dizer onde eu encontro algum tutorial de "asp.net"?

    E algum tutorial que explique as funções reservadas do asp?

  8. usa banco com base única para os nomes, depois retorna o id da ultima inserção, e passa para os outros bancos o id como chave primaria.

    ou tu pode fazer uma conexão para um banco e executa uma query para aquele banco e fecha a conexão com o servidor, e faz a mesma coisa para os outros bancos com os mesmos dados.

  9. Ai como eu faço para configurar a função htmlentities para não converter tags html

    tipo essa é a sintaxe dela:

    string htmlentities( string $string[, int $quote_style[, string $charset[, bool $double_encode]]]);
    ai eu coloco:
    htmlentities($noticia['Descricao'],ENT_NOQUOTES,"ISO-8859-1");
    Eu já tentei usar a diretiva $double_encode mas ela não funciono, como é que eu faço isso ficar certo. O problema é que eu quero que os caracteres fiquem certos por eles estão sendo gravados de forma louca no banco ai quando eu passo para a exibição eles vem com caracteres estranhos. já tentei usar os headers mas ele da um erro. dizendo que não pode modificar. o erro é o seguinte:
    Warning: Cannot modify header information - headers already sent by (output started at /www/webadmin/ClassesSaida/Galeria.php:1) in /www/index.php on line 3

  10. Ai o meu script não ta lendo o arquivo já tentei ler ele de todos os jeitos que eu sabia mas nada.

    <?php
    
    // Classe responsavel por fazer o registro dos logos de cada player
    // e conta quantas vezes o player foi executado
    class Logs {
    
        // declara as variaveis do sistema
        private $arquivo;        // variavel que aloca o nome do arquivo
        private $fp;            // variavel que aloca a abertura do arquivo temporariamente
        private $nomePlayer;    // variavel que guarda o nome do player
        private $loopsPlayer;    // variavel que guarda quantas vezes o player foi executado
        private $linhas;        // variavel que guarda as linhas lidas do arquivo
        private $arquivoAtual;    // variavel que guarda o nome do arquivo atual
        private $dados;            // variavel que guarda os dados para serem gravados
        
        
        // método construct da classe
        public function __construct($arquivoAtual) {
            $this->arquivo = "logs.log";            // define o arquivo a ser aberto
            $this->arquivoAtual = $arquivoAtual;    // passa para a variavel o nome do arquivo atual
            
            $this->openArquivo();
            $this->teste();
            //$this->leituraDeLinhas();
            $this->gravaDados();
        }
        
        // método que abre o arquivo para escrita
        private function openArquivo() {
            $this->fp = fopen($this->arquivo, "w");    // abre o arquivo e guarda dentro da variavel
        }
        
        // método que fecha o ponteiro aberto para o arquivo
        private function closeArquivo() {
            fclose($this->fp);
        }
    
        function teste() {
            while(!feof($this->fp)) {
                $line = fgets($this->fp, 2);
                echo $line."<br>";
            }
        }
    
        // método que le as linhas do arquivo e quarda em uma variavel do tipo array
        private function leituraDeLinhas() {
            if(!file($this->arquivo)) {
                echo error_reporting(E_ALL)."<hr>";
            }
            $file = file($this->arquivo);
            $numLinhas = count($file);
            echo print_r($file);
            //exit($file);
            if($numLinhas > 0) {
                $arqs = explode("|",$file[0]);
                $str = "";
                if($this->verificaCadastrado($arqs)) {
                    foreach($arqs as $arq) {
                        $str .= $this->verificaArquivoAtual($arq);
                    }
                } else {
                    $str .= $file[0].$this->arquivoAtual.",1|";
                }
                $this->dados = $str;
            } else {
                $this->adicionaElemento();
            }
        }
        
        // método pra verificar se já esta cadastrado o arquivo
        private function verificaCadastrado($valor) {
            $ok = false;
            $arr = explode(",",$valor);
            foreach($valor as $val) {
                if($val == $this->arquivoAtual) {
                    $ok = true;
                }
            }
            return $ok;
        }
        
        // método que verifica qual é o arquivo que esta sendo executado
        private function verificaArquivoAtual($valor) {
            $arr = explode(",",$valor);
            if($arr[0] == $this->arquivoAtual) {
                $loop = $arr[1];
                $loop++;
                $nome = $arr[0];
            } else {
                $loop = $arr[1];
            }
            return $arr[0].",".$loop.";";
        }
        
        // método responsavel por gravar as informações no arquivo
        private function gravaDados() {
            fwrite($this->fp,$this->dados);
            $this->closeArquivo();
        }
        
        // método que adiciona um elemento
        private function adicionaElemento() {
            $this->dados = $this->arquivoAtual.",1|\n";
        }
        
        // método que le e explode para um array o arquivo logs.log
        private function leArquivoLogs() {
            $linhas = fgets($this->fp, 4096);
        }
        
    
    }
    ?>

  11. Comando sql:

    [color="#0000ff"]Insert Into alunos Values('800252','','','S','PASS;SANTO ANTONIO','SACRAMENTA','BELEM','PA','','','','','','','','PASS;SANTO ANTONIO','','SACRAMENTA','BELEM','PA','','2008','1' );[/color]
    Comando que chama a função que faz as trocas
    $SQL = str_replace("Delete from ALUNOS;", "", $SQL);
                        $clausulas = explode(";", $SQL);
                        $flag = 0;
                        $Relatorio[$flag] = "";
                
                        foreach($clausulas as $consultaSQL){
                
                            $consultaSQL = str_replace("ALUNOS", "alunos", $consultaSQL);
                            $consultaSQL = str_replace(",'2007','1'", "", $consultaSQL);    
                            $consultaSQL = str_replace(",'2007','2'", "", $consultaSQL);
                            $consultaSQL = str_replace("", "", $consultaSQL);
                            //$consultaSQL = filtroConsultaSQL($consultaSQL);
                            $consultaSQL = $selecionar->montaConsulta($consultaSQL);
                            
                            if(@mysql_query($consultaSQL)){
                                continue;
                            } else {
                                //exit("<b>Consulta: </b>".$consultaSQL."<hr><b>Erro: </b>".mysql_error());
                                
                                $Relatorio[$flag] = $consultaSQL;
                                $flag += 1; 
                            }
                        }
    função que faz os replaces
    function montaConsulta($consultaSQL) {
            $arr = explode("','",$consultaSQL);
            $num = count($arr);
            if($num == 22) {
                $consultaSQL = "";
                $i = 0;
                foreach($arr as $valor) {
                    $i++;
                        if(($i != 22) and ($i != 1)) {
                            $str = str_replace("'","",$valor);
                            //$str = str_replace(";","",$str);
                            $str = str_replace("\\","",$str);
                        } else {
                            $str = $valor;
                        }
                    if($i == 1) {
                        $consultaSQL .= $str."',";
                    } else if($i == 22) {
                        $consultaSQL .= "'',";
                    } else {
                        $consultaSQL .= "'".$str."',";
                    }
                }
                $consultaSQL .= "'','');";
            } else {
                if($num == 24) {
                    $consultaSQL = "";
                    $i = 0;
                    foreach($arr as $valor) {
                        $i++;
                        if(($i != 24) and ($i != 1)) {
                            $str = str_replace("'","",$valor);
                            //$str = str_replace(";","",$str);
                            $str = str_replace("\\","",$str);
                        } else {
                            $str = $valor;
                        }
                        if($i == 1) {
                            $consultaSQL .= $str."',";
                        } else if($i == 24) {
                            $consultaSQL .= "'".$str.";";
                        } else if($i == 23) {
                            $consultaSQL .= "'".$str."',";
                        } else {
                            $consultaSQL .= "'".$str."',";
                        }
                    }
                    //$consultaSQL .= ",'');";
                }
            }
            //$consultaSQL = $this->bbCode($consultaSQL);
            //$consultaSQL = preg_replace('/;/','',$consultaSQL);
            $arr2 = explode(";",$consultaSQL);
            $count = count($arr2);
            if($count >= 1) {
                $consultaSQL = "";
                foreach($arr2 as $valor) {
                    $consultaSQL .= $valor;
                }
            }
            //exit("SQL: ".$consultaSQL."<hr>Num: ".count(explode("','",$consultaSQL))."<hr>Array: ".print_r(explode("','",$consultaSQL)));
            //exit($consultaSQL);
            return $consultaSQL.";";
        }

×
×
  • Criar Novo...