Jump to content
Fórum Script Brasil

didonsom

Membros
  • Content Count

    11
  • Joined

  • Last visited

Everything posted by didonsom

  1. Galera descobri o erro ... O erro estava justamente no closeConexao(), pois a Conexão Pdo não é destruída automaticamente e eu estava destruindo da forma errada com ($this-> con) quando o correto deveria ser $self::$con.. por ser estática.. estava destruindo de forma errada... protected function closeConexao() { if(self::$con != null) self::$con = null; } public function __destruct() { $this->closeConexao(); }
  2. Olá Pessoal Boa tarde! Estou com um erro que não consigo identificar de jeito nenhum. Preciso realizar mais de uma consulta em classes diferentes em uma tela. O Meu problema está acontecendo quando a segunda consulta é executada, pois o e o Php retorna, Call to a member function prepare() on null por que o parâmetro de conexão que está em __construct está retornando null na segunda classe (peguei isso através de um var_dump) por isso que o "prepare" e consequentemente a consulta não funcionam. Queria saber o que estou fazendo de errado para não consegui consultar mais de uma classe na mesma tela. Estou usando PDO e banco mysql. Essa é a minha classe de conexão <?php // Classe que realiza a conexão com o banco de dados Class Conexao { private static $con; // Impede que a classe seja instanciada private function __construct() { } // Impede que a classe seja clonada private function __clone() { } //Impede a utilização do Unserialize (que a variavel retorne o array original) private function __wakeup() { } public static function getConexao() { if (!isset(self::$con)) { try{ // parametros de conexão $tipo = 'mysql:host=localhost;dbname=teste'; $user = 'root'; $senha = ''; self::$con = new PDO( $tipo, $user, $senha, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8", PDO::ATTR_PERSISTENT => TRUE)); self::$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); self::$con->setAttribute(PDO::ATTR_ORACLE_NULLS, PDO::NULL_EMPTY_STRING); } catch ( PDOException $erro ){ echo $erro; // Encerrando a aplicação exit(); } return self::$con; } } // finalizando o getConexao protected function closeConexao() { if($this->con != null) $this->con = null; } public function __destruct() { $this->closeConexao(); } } // finalizando a classe conexão ?> Essa é a classe na qual realizo a 1º consulta <?php // ARQUIVO DE CLASSE SLIDE_CRUD - UTILIZADA PARA ADICIONAR AS IMAGENS E CONSULTAS ATRAVÉS DO LOGIN NO PAINEL-ADMIN // chamando o arquivo de conexão class Slide_crud extends Slide{ public static $conexaoPDO; // Instanciando a conexao e a classe public function __construct(){ $this->conexaopdo = conexao::getConexao(); } //******************************************************************************************************// //*********************************************CONSULTA GERAL******************************************// //****************************************************************************************************// public function consultaslide(){ try{ // realizando o SQL $sql = ('SELECT * FROM tbl_slide'); // Realizando a conexão $prepare_sql = $this->conexaopdo->prepare($sql); $prepare_sql->execute(); return $prepare_sql->fetchAll(PDO::FETCH_OBJ); } catch(exception $e){ echo" $e erro ao realizar a consulta, se o problema persistir contate o administrador do sistema"; } } } Essa é a classe na qual realizo a 2º consulta. <?php // Criando a Classe Seo_Crud - Classe responsável pelas interações com o banco de DADOS Class Seo_crud extends Seo{ // parametro na qual será responsável por iniciar a conexão com o banco de dados static $conexaoPDO; // função responsável por instanciar a classe em questão public function __construct(){ // instanciando o parametro de conexão; $this->conexaopdo = Conexao::getConexao(); } //******************************************************************************************************// //********************************************CONSULTA GERAL*******************************************// //****************************************************************************************************// public function consultaseo(){ try{ // consulta SQL $sql = ('SELECT * FROM tbl_seo'); // repassando a consulta para a conexão $prepare_sql = $this->conexaopdo->prepare($sql); // executando a instrução $prepare_sql->execute(); // retorno da função return $prepare_sql->fetchAll(PDO::FETCH_OBJ); }catch(PDOexception $e){ print_r($e); echo"$e Atenção! Ocorreu um Erro ao realizar essa consulta de dados, tente novamente, se o problema persisitir contate o Administrador do Sistema"; } } // fim function consulta } ?> aqui está os trechos na qual estou instanciando as classes no arquivo index.php para obter os dados através de um foreach. <?php // instanciando a classe responsável pelo Crud e pelas Consultas $slide_crud = new Slide_crud(); // repassando os parâmetros para a consulta e armazenando na variavel $result $result = $slide_crud->consultaslide(); // percorrendo o array através de um laço para exibir as imagens foreach($result as $dados){ ?> <div class="cycle-anterior" <a href="#" id="anterior"></a></div> <div class="cycle-proximo" <a href="#" id="proximo"></a></div> <img src="<?=$dados->caminho ?>" class="img-thumbnail" height="260" width="960" data-cycle-desc= <?=$dados->descricao?>> <?php } <?php // instanciando a classe responsável pela consulta; $seo_crud = new Seo_crud(); // realizando a consulta e armazenando os dados em uma variavel $result_seo = $seo_crud->consultaseo(); if(!Empty($result_seo)){ foreach($result_seo as $dados){ echo "$dados->rodape_centro"; } } ?>
  3. Boa tarde! Resolvi o problema mudando a função que utilizei para validar os checks em jquery obtive através desse site, http://www.brandom.com.br/selecionar-todos-checkbox-com-jquery/ ai resolvi o problema obrigado a todos, abaixo o codigo, caso alguém precise. diego <!-- script que verifica se os checksbox do form #pd deficiente - area candidato estao marcados / desmarcados --> <script language="javascript" type="text/javascript"> <!-- desmarcando todos se o não possui estiver marcado --> $(function () { $('#checkAll').click(function () { var val = this.checked; $('input[name=dados').each(function () { $(this).prop('checked', false); }); }); }); <!-- desmarcando o não possui estiver algum checkbox estiver marcado --> $(function () { $('input[name=dados]').click(function () { var val = this.checked; $('input[name=naopossui').each(function () { $(this).prop('checked', false); }); }); }); </script> <!-- script que verifica se os checksbox do form #dc checkhab - area candidato estao marcados / desmarcados --> <script language="javascript" type="text/javascript"> <!-- desmarcando todos se o não possui estiver marcado --> $(function () { $('#naopossuihab').click(function () { var val = this.checked; $('input[name=checkhab').each(function () { $(this).prop('checked', false); }); }); }); <!-- desmarcando o não possui estiver algum checkbox estiver marcado --> $(function () { $('input[name=checkhab]').click(function () { var val = this.checked; $('input[name=naopossuihab').each(function () { $(this).prop('checked', false); }); }); }); </script>
  4. Bom dia! foi a primeira coisa que fiz! mas não deu ce existe alguma forma de limpar a funcao "window.load" ?
  5. Olá Pessoal, Bom dia! Sou novo em programação web e estou com um problema. Estou desenvolvendo um sistema em php e utilizo o seguinte script abaixo que obtive na net para validar o click dos checkbox. Então por exemplo, se eu clicar no checkbox não possui, os demais checks serão desmarcados etc, até ai tudo bem a função funciona normalmente, coloco ela no meu <head></head> do form index.php <!-- script utilizado para marcar e desmarcar os checksbox quando o usuario clicar em "não possui" ou em mais de uma opção --> <script type="text/javascript"> windows.onload = function() { //obter o click do checkbox - DEFICIENTE document.getElementById("checkAll").onclick = function deficiente() { var form = document.getElementById("myForm"); //formulário //percorre todos os checkboxes e seta se está ou não checado, conforme o valor do check mandatório var checks = form.getElementsByTagName("input"); for(var i=0; i<checks.length; i++) { var chk = checks[i]; if(chk.name == "dados[]") chk.checked = false; } } </script> O Problema é que eu precisei utilizar a mesma função para validar os checks de outro form e a função não funciona! O estranho é q se eu deixar somente uma função no head o procedimento funciona, agora se eu colocar as 2 funções juntas no <head> o procedimento funciona somente em um form ou seja em uma tela.. alguém sabe me dizer onde estou errando? será que preciso limpar alguma variavel? <!-- script utilizado para marcar e desmarcar os checksbox quando o usuario clicar em "não possui" ou em mais de uma opção --> <script type="text/javascript"> window.onload = function() { //obter o click do checkbox - DADOS COMPLEMENTARES - AREA CANDIDATO // script utilizado para marcar e desmarcar os checks da DADOS COMPLEMENTARES #DC quando o usuario clicar em "não possui" ou em mais de uma opção document.getElementById("naopossuihab").onclick = function dadoscomplementares() { var formdadoscomplementares = document.getElementById("formdadoscomplementares"); //formulário //percorre todos os checkboxes e seta se está ou não checado, conforme o valor do check mandatório var checksdadoscomplementares = formdadoscomplementares.getElementsByTagName("input"); for(var idados=0; idados<checksdadoscomplementares.length; idados++) { var chkdadoscomplementares = checksdadoscomplementares[idados]; if(chkdadoscomplementares.name == "checkhabilitacao[]") chkdadoscomplementares.checked = false; } } } </script> Obrigado DIEGO
  6. Olá Pessoal, Consegui resolver o problema dessa forma, segue código... e link onde obtive a resposta, caso alguém precise. if(count(@$_POST["dados"]) > 0) //verifica se algum checkbox foi enviado no form - O "@" é caso nenhum seja marcado não dar erro { for($i=0;$i<count($_POST["dados"]);$i++) //loop nos chechkbox enviados { $campo = $_POST["dados"][$i]; if ($campo == 'Auditiva'){ // verifica se o campo é igual se for, variavel recebe valor $auditiva = $campo; } if ($campo == 'Motora'){ // verifica se o campo é igual se for, variavel recebe valor $motora = $campo; } if ($campo == 'Mental'){ // verifica se o campo é igual se for, variavel recebe valor $mental = $campo; } if ($campo == 'Visual'){ // verifica se o campo é igual se for, variavel recebe valor $visual = $campo; } } } abraços, http://forum.imasters.com.br/topic/507641-percorrer-array/ diego
  7. cara a aspas está errada! tem que ser dessa forma '$dados[id]' depois do [id].... se mesmo assim não funcionar.. aonde está o select da $buscar? já viu se essa variável tem valor? pode ser por isso q não tá retornando nada na variável dados..
  8. amigo, você precisa analisar o código detalhadamente e ver onde está errando... no post anterior tinha 2 erros e eu te mostrei 1 só... para ver se você se ligava :). cadê a '' aspas em volta da variável" no update? repare na variável '$nome_usuario' e na variável $dados..... talvez seja isso.. abraços,
  9. ali no result_usuario tem 2 vezes ;; veja se não e isso abs
  10. amigo, sou novo em php .. e não sei se é a forma otimizada.. mas poderia fazer dessa forma.. para iniciar a sessão você realiza um select correto? pega a variavel desse select e realiza um mysql_fetch_assoc(); tipo $e = mysql_fetch_assoc($resultado_select); ai você pega o resultado e repassa no update dessaforma result_usuario = "UPDATE usuarios SET nome = '$nome_usuario' WHERE id = $e[id]"; espero ter ajudado, abraços
  11. Olá Pessoal, Boa tarde! Essa é minha primeira postagem no fórum por esse fato, peço desculpas se postei no local errado. Bom, sou novo em programação web, e estou com dificuldade na seguinte situação: Eu tenho 4 checkboxs onde fui obrigado a colocar o mesmo nome "dados[]" em virtude de uma função javascript para marcar e desmarcar os campos quando uma opção de nome "não possui" obter um click, até ai tudo bem essa parte está funcionando certinho.. bom o meu problema está ocorrendo quando eu tento realizar o $_POST para realizar o update na tabela do mysql... não estou conseguindo obter o valor dos campos separadamente para salvar no banco de dados, alguém tem alguma dica? podem me dizer onde estou errando? no código abaixo, obtenho somente o ultimo checkbox clicado. Aqui está o código dos checkbox .. o checkbox de nome "checkall" ao ser marcado, apaga as opções dos demais campos através de uma função javascript <p><input type='checkbox' name='dados[$r]' id='dados' value='Auditiva'>Auditiva</p> <p><input type='checkbox' name='dados[$r]' id='dados2' value='Motora'>Motora</p> <p><input type='checkbox' name='dados[$r]' id='dados3' value='Mental'>Mental</p> <p><input type='checkbox' name='dados[$r]' id='dados4' value='Visual'>Visual</p> <p><input type='checkbox' name='naopossui' id='checkAll' value='não Possui'>Não Possui</p> abaixo o código do $_POST // // // // // Portador Deficiencia - UPDATE if(isset($_POST['pdu'])){ $r=0; while($r[dados] <= 1){ $check = isset($_POST['dados']) ? $_POST['dados'] : array(); foreach($check as $valor) { $auditiva = $valor; $i++; $r++; } } $naopossui = @$_POST['naopossui']; $descricao = @$_POST['descricao']; //while($e = mysql_fetch_assoc($s)){ // realizando o update para preencher a tabela portdor_deficiencia, o id_candidato foi obtido através da variavel $qe que recebeu o select inicial na abertura da sessão. mysql_query("UPDATE portador_deficiencia SET auditiva = '$auditiva', motora = '$auditiva', mental = '$mental', visual = '$visual', nao_possui = '$naopossui', descricao = '$descricao' WHERE id_candidato = '$qe[id_candidato]'"); } Obrigado a todos Diego
×
×
  • Create New...