Ir para conteúdo

rogarfil

Members
  • Total de itens

    35
  • Registro em

  • Última visita

Reputação

2 Comum

Sobre rogarfil

  • Data de Nascimento 09/08/1960

Informações Pessoais

  • Sexo
    Masculino
  • Localização
    Palmas - TO

Contato

Últimos Visitantes

1224240 visualizações
  1. rogarfil

    nav pills trazendo informações do mysql em pdo

    <div class="video-sec"> <h4 class="heading-small">Mídias</h4> <div class="video-block"> <ul class="nav nav-pills justify-content-center mb-4" id="pills-nav" role="tablist"> <?php // Atribui uma conexão PDO $conexao = Connection::getInstance(); $controle_ativo = 2; $sql = "SELECT * FROM db_post WHERE status=1 AND category='Mídia' ORDER BY created DESC LIMIT 3"; $stm = $conexao->prepare($sql); $stm->execute(); while($post = $stm->fetch(PDO::FETCH_OBJ)) { if($controle_ativo == 2) { ?> <li class="nav-item"> <a class="nav-link active" id="nav-pills-01" data-toggle="pill" href="#navtabs<?=$post->post_id?>"><?=$post->title?></a> </li> <?php $controle_ativo = 1; } else { ?> <li class="nav-item"> <a class="nav-link" id="nav-pills-02" data-toggle="pill" href="#navtabs<?=$post->post_id?>"><?=$post->title?></a> </li> <?php } } ?> </ul> <div class="tab-content" id="nav-pills-content"> <?php // Atribui uma conexão PDO $conexao = Connection::getInstance(); $controle_ativo = 2; $sql = "SELECT * FROM db_post WHERE status=1 AND category='Mídia' ORDER BY created DESC LIMIT 3"; $stm = $conexao->prepare($sql); $stm->execute(); while($post = $stm->fetch(PDO::FETCH_OBJ)) { if($controle_ativo == 2) { ?> <div class="tab-pane fade show active" id="navtabs<?=$post->post_id?>" role="tabpanel"> <div class="row"> <div class="col-sm-6"> <div class="embed-responsive embed-responsive-16by9"> <!-- 21by9, 16by9, 4by3, 1by1 --> <iframe class="embed-responsive-item" src="<?=$post->url?>"></iframe> </div> </div> <div class="col-sm-6"> <p class="display-5"><?=$post->content?></p> <p class="card-text"> <small class="text-time"> <em>Publicado em <?=date('M,d',strtotime($post->created))?></em> </small> </p> </div> </div> </div> <?php $controle_ativo = 1; } else { ?> <div class="tab-pane fade" id="navtabs<?=$post->post_id?>" role="tabpanel"> <div class="row"> <div class="col-sm-6"> <div class="embed-responsive embed-responsive-16by9"> <!-- 21by9, 16by9, 4by3, 1by1 --> <iframe class="embed-responsive-item" src="<?=$post->url?>"></iframe> </div> </div> <div class="col-sm-6"> <p class="display-5"><?=$post->content?></p> <p class="card-text"> <small class="text-time"> <em>Publicado em <?=date('M,d',strtotime($post->created))?></em> </small> </p> </div> </div> </div> <?php } } ?> </div> </div> </div> Após uma leitura no endereço: https://getbootstrap.com/docs/4.1/components/navs/#pills o problema foi resolvido e a correção está em negrito.
  2. rogarfil

    nav pills trazendo informações do mysql em pdo

    <div class="video-sec"> <h4 class="heading-small">Mídias</h4> <div class="video-block"> <ul class="nav nav-pills justify-content-center mb-4" id="pills-nav" role="tablist"> <?php // Atribui uma conexão PDO $conexao = Connection::getInstance(); $controle_ativo = 2; //$controle_num_slide = 1; $sql = "SELECT * FROM db_post WHERE status=1 AND category='Mídia' ORDER BY created DESC LIMIT 3"; $stm = $conexao->prepare($sql); $stm->execute(); while($post = $stm->fetch(PDO::FETCH_OBJ)) { if($controle_ativo == 2) { ?> <li class="nav-item"> <a class="nav-link active" id="nav-pills-01" data-toggle="pill" href="#<?=$post->post_id?>"><?=$post->title?></a> </li> <?php $controle_ativo = 1; } else { ?> <li class="nav-item"> <a class="nav-link" id="nav-pills-02" data-toggle="pill" href="#<?=$post->post_id?>"><?=$post->title?></a> </li> <?php //$controle_num_slide++; } } ?> </ul> <div class="tab-content" id="nav-pills-content"> <?php // Atribui uma conexão PDO $conexao = Connection::getInstance(); $controle_ativo = 2; $sql = "SELECT * FROM db_post WHERE status=1 AND category='Mídia' ORDER BY created DESC LIMIT 3"; $stm = $conexao->prepare($sql); $stm->execute(); while($post = $stm->fetch(PDO::FETCH_OBJ)) { if($controle_ativo == 2) { ?> <div class="tab-pane fade show active" id="<?=$post->post_id?>" role="tabpanel"> <div class="row"> <div class="col-sm-6"> <div class="embed-responsive embed-responsive-16by9"> <!-- 21by9, 16by9, 4by3, 1by1 --> <iframe class="embed-responsive-item" src="<?=$post->url?>"></iframe> </div> </div> <div class="col-sm-6"> <p class="display-5"><?=$post->content?></p> <p class="card-text"> <small class="text-time"> <em>Publicado em <?=date('M,d',strtotime($post->created))?></em> </small> </p> </div> </div> </div> <?php $controle_ativo = 1; } else { ?> <div class="tab-pane fade" id="<?=$post->post_id?>a" role="tabpanel"> <div class="row"> <div class="col-sm-6"> <div class="embed-responsive embed-responsive-16by9"> <!-- 21by9, 16by9, 4by3, 1by1 --> <iframe class="embed-responsive-item" src="<?=$post->url?>"></iframe> </div> </div> <div class="col-sm-6"> <p class="display-5"><?=$post->content?></p> <p class="card-text"> <small class="text-time"> <em>Publicado em <?=date('M,d',strtotime($post->created))?></em> </small> </p> </div> </div> </div> <?php } } ?> </div> Há aba ativa está perfeita quando clico na segunda ou terceira aba nada acontece (não abre), tenho que deixar dinâmico. Ainda pergunto existe uma maneira com javascript para ativar a aba e seu conteúdo.
  3. Estou trabalhando com PHP e utilizo URL amigável. Ao clicar no link <a class="nav-link" href="<?php echo URL::getBase(); ?>blog" tabindex="12">blog</a>, minha URL fica: Abrindo a página blog.php esta contém a função function getBlog() que lista todos os artigos, com uma paginação de 10 por página. Ao clicar em um destes artigos, minha URL fica: Abrindo a página artigo.php esta contém a função: function getViewBlog() { // Ler URL (array) $url = $_SERVER['REQUEST_URI']; $valor = explode("/", $url); // Recebe o id do rgf_content via GET $id_blog = $valor[3]; ... } Onde pega o id_blog da URL e mostra todo o conteúdo deste artigo nesta página. O que estou buscando realizar é fazer com que estas duas funções abram na mesma página que aqui neste caso seria a blog.php. O motivo que leva-me a essa lógica é que da maneira que se encontra e quando estou na página artigo.php e ao clicar no link do breadcrumbs em artigo surge o erro: Pois na URL não aparece o conteúdo da variável $id_blog.
  4. Renan, Você que está começando siga a sugestão do Gleyson Abreu e visite o site do Gustavo Guanabara http://www.cursoemvideo.com/ você com certeza terá um embasamento para se nortear. Abraços,
  5. Renan, Sim é possível, você pode criar qualquer estrutura para um site, o que deve fazer é desenhar em HTML e dar a forma com seu CSS, existem exemplos diversos, basta saber como usar as ferramentas que estão disponíveis para isso. No seu exemplo citado http://www.designcouncil.org.uk/ o menu superior é feito com fontes especiais.
  6. Através deste exemplo: https://wiki.locaweb.com.br/pt-br/Como_enviar_e-mails_em_grande_quantidade_com_script_PHP, criei o script abaixo, ele recebe todas as variáveis mas não me mostra o erro, a página abre e não processa nada, peço aos amigos a ajuda para terminar este trabalho. Ao amigo William Bruno, a sua ajuda é sempre bem vinda, segue o script: <div class='container box-mensagem-crud'> <?php // Recebe os dados enviados pela submissão $acao = (isset($_POST['acao'])) ? $_POST['acao'] : ''; $subject = (isset($_POST['subject_matter'])) ? $_POST['subject_matter'] : ''; $text = (isset($_POST['comment'])) ? $_POST['comment'] : ''; //configurações do e-mail $nome_remetente = "Seu Nome"; $email_remetente = "nome@email.com.br"; $quant = 10; //número de mensagens enviadas de cada vez $sec = 10; //tempo entre o envio de um pacote e outro (em segundos) $conexao = conexao::getInstance(); $ok = 0; $inicio = 0; $fim = $inicio + $quant; $sql = 'SELECT id, name, email, status, created FROM newsletter WHERE status=:status GROUP BY email LIMIT $inicio, $fim'; $stm = $conexao->prepare($sql); $stm->bindValue(':status', 1); $stm->execute(); //Linha 25 $contar = $stm->rowCount(); if($contar == 0 ): $sql = 'UPDATE newsletter SET status = 1'; $stm = $conexao->prepare($sql); $stm->bindValue(':nome', $nome); $stm->bindValue(':email', $email); $stm->bindValue(':status', $status); $retorno = $stm->execute(); if ($retorno): echo "<div class='alert alert-success' role='alert'>Todas as mensagens foram enviadas! ...</div> "; else: echo "<div class='alert alert-danger' role='alert'>Erro ao enviar email!</div> "; endif; $ok = 1; endif; while($news = $stm->fetch(PDO::FETCH_OBJ)) { $id = $news->id; $nome = $news->name; $to = $news->email; $status = $news->status; $headers = "From: ".$nome_remetente." <".$email_remetente.">"; $headers = "Return-path: ".$nome_remetente." <".$email_remetente.">"; mail($to,$subject,$text,$headers, "-r". $email_remetente); $sql = 'UPDATE newsletter SET status = 1 WHERE id=:id'; printf("<font face='tahoma'>".$id.") mensagem para <b>".$to."</b> <font color='#ff0000'><b>enviada com sucesso!</b></font></font>"); }//while if(!$ok): echo('<meta http-equiv=\"refresh\" content=\"' . $sec . '\">'); endif; ?> </div> Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1327 Undeclared variable: $inicio' in /var/www/html/vozcidadao.com.br/web/management/newsletters/send_action.php:25 Stack trace: #0 /var/www/html/vozcidadao.com.br/web/management/newsletters/send_action.php(25): PDOStatement->execute() #1 /var/www/html/vozcidadao.com.br/web/management/index.php(52): include('/var/www/html/v...') #2 {main} thrown in /var/www/html/vozcidadao.com.br/web/management/newsletters/send_action.php on line 25 Abraços, Rogarfil
  7. rogarfil

    Formulário busca no Mysql por filtro com paginação em PHP

    Prezado Paulo de Tarso F. M., Infelizmente segui a suas orientações e meus resultados continuam o mesmo, ou seja, realiza a busca por filtro perfeitamente e me apresenta os resultados desejados, mostrando até mesmo a quantidade de páginas pela filtragem. Acontece que minha consulta na query é por array e é este array que não passa para a página seguinte, os dados não chegam na segunda página. Abraços, Rogarfil
  8. rogarfil

    busca com filtro e paginação

    Prezado ESerra, No exemplo que você me indicou ficou assim: http://127.0.0.1/dashboard/www/wbweb/psiquevp/candidato/cadastro/paginacao5.php?pagina=2&cargo=Advogado&nivel=0&sexo=0&cidade=0&idade=0&idade=0 Veja essa função até o momento estou levando pau para fazer funcionar no script que enviei: <?php function add_or_change_parameter($parameter, $value) { $params = array(); $output = "?"; $firstRun = true; foreach($_GET as $key=>$val) { if($key != $parameter) { if(!$firstRun) { $output .= "&"; } else { $firstRun = false; } $output .= $key."=".urlencode($val); } } if(!$firstRun) $output .= "&"; $output .= $parameter."=".urlencode($value); return htmlentities($output); } ?> Criada por John Galt em http://php.net/manual/pt_BR/reserved.variables.request.php#94985 Mais um Abraço, Rogarfil
  9. rogarfil

    busca com filtro e paginação

    Prezado ESerra, Infelizmente não é essa a solução, o resultado continua a ser o mesmo a página solicitada embora o caminho mostre todas as variáveis, não aparece nada. Vou citar uma coisa quando utilizo somente a SQL como sendo: $sql = "SELECT * FROM tab_candidato ORDER BY nome ASC LIMIT $inicio,$maximo; ou até mesmo como: $sql = "SELECT * FROM tab_candidato WHERE `nome` = $nome ORDER BY nome ASC LIMIT $inicio,$maximo; funciona normal a paginação. Mas quando utilizo como array: $sql = "SELECT * FROM tab_candidato"; if( sizeof( $where ) ) $sql .= ' WHERE '.implode( ' AND ', $where ).' ORDER BY nome ASC LIMIT '.$inicio.','.$maximo; é que esta chamando a proxima página em branco. O exemplo utilizado foi do William Bruno: http://wbruno.com.br/php/formulario-de-busca-filtro-dinamico-em-mysql-php/, tentei contacta-lo direto mas ele pediu para postar aqui. O que pretendo é usar o exemplo dele para realizar a busca com uma paginação. Abraços, Rogarfil
  10. Prezados Colegas, Feliz 2016! Paz, Amor, Realizações... Trata-se do seguinte, tenho uma página search.php onde realizo uma busca por seleção (Cargo, Escolaridade, Sexo, Cidade, Idade Mínima e Idade Máxima), estes valores já estão cadastrado no BD Mysql. Quando realizo esta busca, com todas as opções que desejo e da maneira como desejo, tudo ocorre perfeitamente como programado, obtenho os resultados esperados. Mostrando inclusive a quantidade de páginas correspondentes a busca feita. Na minha primeira query (echo $sql;) o resultado vem assim, pelas opções escolhidas (estou optando por tudo para melhor visualizarem): SELECT * FROM tab_candidato WHERE `cargo_pretendido` = 'Analista e Desenvolvedor de Sistemas' AND `nivel` = 'Ensino Superior' AND `sexo` = 'Masculino' AND `cidade` = 'Palmas' AND `idade` >= '25' AND `idade` <= '55' ORDER BY nome ASC LIMIT 0,10 Na minha segunda query (echo $strCount;) o resultado vem assim: SELECT * FROM tab_candidato WHERE `cargo_pretendido` = 'Analista e Desenvolvedor de Sistemas' AND `nivel` = 'Ensino Superior' AND `sexo` = 'Masculino' AND `cidade` = 'Palmas' AND `idade` >= '25' AND `idade` <= '55' ORDER BY nome ASC O total contado está correto (echo $total;) e mostra, o valor: 19 -> total de páginas 3. O problema é quando dou o clique para as próximas páginas, elas me retornam vazia, ou seja, debugando posso perceber que a <div> correspondente não recebe os valores. <?php ini_set('display_errors', true); error_reporting(E_ALL); include 'conexao.php'; ?> <!-- GERAL --> <div class="pg_candidatos"> <!-- FILTRO DE BUSCA --> <fieldset> <legend>Selecione as Opções da Pesquisa</legend> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <ul> <!-- CARGO --> <li> <select name="comboCargo"> <option value="0" selected="selected">Cargo</option> <?php $qrCargo = mysqli_query($dados, "SELECT DISTINCT cargo_pretendido FROM tab_candidato ORDER BY cargo_pretendido ASC") or die(mysqli_error()); while ($linhaCargo = mysqli_fetch_array($qrCargo)) { ?> <option value="<?php echo $linhaCargo['cargo_pretendido']; ?>"> <?php echo $linhaCargo['cargo_pretendido']; ?> </option> <?php } ?> </select> </li> <!-- ESCOLARIDADE --> <li> <select name="comboNivel"> <option value="0" selected="selected">Escolaridade</option> <?php $qrNivel = mysqli_query($dados, "SELECT DISTINCT nivel FROM tab_candidato ORDER BY nivel ASC") or die(mysqli_error()); while ($linhaNivel = mysqli_fetch_array($qrNivel)) { ?> <option value="<?php echo $linhaNivel['nivel']; ?>"> <?php echo $linhaNivel['nivel']; ?> </option> <?php } ?> </select> </li> <!-- SEXO --> <li> <select name="comboSexo"> <option value="0" selected="selected">Sexo</option> <?php $qrSexo = mysqli_query($dados, "SELECT DISTINCT sexo FROM tab_candidato ORDER BY sexo ASC") or die(mysqli_error()); while ($linhaSexo = mysqli_fetch_array($qrSexo)) { ?> <option value="<?php echo $linhaSexo['sexo']; ?>"> <?php echo $linhaSexo['sexo']; ?> </option> <?php } ?> </select> </li> <!-- CIDADE --> <li> <select name="comboCidade"> <option value="0" selected="selected">Cidade</option> <?php $qrCidade = mysqli_query($dados, "SELECT DISTINCT cidade FROM tab_candidato ORDER BY cidade ASC") or die(mysqli_error()); while ($linhaCidade = mysqli_fetch_array($qrCidade)) { ?> <option value="<?php echo $linhaCidade['cidade']; ?>"> <?php echo $linhaCidade['cidade']; ?> </option> <?php } ?> </select> </li> <!-- IDADE MÍNIMA --> <li> <select name="comboIdadeMin"> <option value="0" selected="selected">Idade Mínima</option> <?php $qrIdadeMin = mysqli_query($dados, "SELECT DISTINCT idade FROM tab_candidato ORDER BY idade ASC") or die(mysqli_error()); while ($linhaIdadeMin = mysqli_fetch_array($qrIdadeMin)) { ?> <option value="<?php echo $linhaIdadeMin['idade']; ?>"> <?php echo $linhaIdadeMin['idade']; ?> </option> <?php } ?> </select> </li> <!-- IDADE MÁXIMA --> <li> <select name="comboIdadeMax"> <option value="0" selected="selected">Idade Máxima</option> <?php $qrIdadeMax = mysqli_query($dados, "SELECT DISTINCT idade FROM tab_candidato ORDER BY idade ASC") or die(mysqli_error()); while ($linhaIdadeMax = mysqli_fetch_array($qrIdadeMax)) { ?> <option value="<?php echo $linhaIdadeMax['idade']; ?>"> <?php echo $linhaIdadeMax['idade']; ?> </option> <?php } ?> </select> </li> <div class="limpar"></div> </ul> <div class="limpar"></div> <div class="bt_pesquisar"><input type="submit" value="Buscar" /></div> <div class="limpar"></div> </form> </fieldset> <!-- /FILTRO DE BUSCA --> <!-- RETORNO DA BUSCA --> <fieldset> <legend>Resultado da Pesquisa</legend> <?php $maximo = 10; $pagina = (isset($_GET['pagina'])) ? (int)$_GET['pagina'] : 1; $inicio = ($maximo * $pagina) - $maximo; if ($_SERVER['REQUEST_METHOD'] == "POST") { $where = array(); $cargo = $_REQUEST['comboCargo']; $nivel = $_REQUEST['comboNivel']; $sexo = $_REQUEST['comboSexo']; $cidade = $_REQUEST['comboCidade']; $idademin = $_REQUEST['comboIdadeMin']; $idademax = $_REQUEST['comboIdadeMax']; if ( $cargo ) { $where[] = " `cargo_pretendido` = '{$cargo}' "; } if ( $nivel ) { $where[] = " `nivel` = '{$nivel}' "; } if ( $sexo ) { $where[] = " `sexo` = '{$sexo}' "; } if ( $cidade ) { $where[] = " `cidade` = '{$cidade}' "; } if ( $idademin ) { $where[] = " `idade` >= '{$idademin}' "; } if ( $idademax ) { $where[] = " `idade` <= '{$idademax}' "; } $sql = "SELECT * FROM tab_candidato"; if( sizeof( $where ) ) $sql .= ' WHERE '.implode( ' AND ', $where ).' ORDER BY nome ASC LIMIT '.$inicio.','.$maximo; echo $sql; echo '<br />'; $query = mysqli_query($dados, $sql) or die( mysqli_error() ); $contar = mysqli_num_rows($query); if ($contar == 0) { echo "<p>Não foram encontrados registros!</p>"; } else { while ($rs = mysqli_fetch_array($query)) { ?> <div class="bx_resultado"> <div class="campo_result1"><?php echo $rs['nome']; ?></div> <div class="campo_result2"><?php echo $rs['email']; ?></div> <div class="campo_result3"><?php echo $rs['celular']; ?></div> <div class="campo_result4"><a href="visualizar.php?id=<?php echo $rs['id']; ?>"><img title="Clique visualizar" alt="Clique visualizar" src="images/ico_pesq.png"></a></div> <div class="limpar"></div> </div> <div class="limpar"></div> <?php }//while }//else $strCount = "SELECT * FROM tab_candidato"; if( sizeof( $where ) ) $strCount .= ' WHERE '.implode( ' AND ', $where ).' ORDER BY nome ASC'; echo $strCount; echo '<br />'; $qrCount = mysqli_query($dados, $strCount) or die( mysqli_error() ); $total = mysqli_num_rows($qrCount); echo $total; echo '<br />'; $pgs = ceil($total / $maximo); $menos = $pagina - 1; $mais = $pagina + 1; if ($pgs > 1){ echo "<br />"; // Mostragem de pagina if ($menos > 0) { echo "<a href=".$_SERVER['PHP_SELF']."?pagina=$menos>Anterior</a> "; } // Listando as paginas for ($i = 1; $i <= $pgs; $i++) { if ($i != $pagina) { echo "<a href=".$_SERVER['PHP_SELF']."?pagina=".$i.">$i</a> | "; } else { echo " <strong>".$i."</strong> | "; } } if ($mais <= $pgs) { echo "<a href=".$_SERVER['PHP_SELF']."?pagina=$mais>Próxima</a> "; } } }//if ?> </fieldset> <!-- /RETORNO DA BUSCA --> </div> <!-- /GERAL --> Já tentei várias formas de paginação e não obtive nenhuma solução. E não consigo deparar com o que estou errando. A tabela é única com todos os campos que preciso. Agradeço desde já a atenção dispensada, Rogarfil
  11. rogarfil

    busca com filtro e paginação

    Prezados Colegas, Feliz 2016! Paz, Amor, Realizações... Trata-se do seguinte, tenho uma página search.php onde realizo uma busca por seleção (Cargo, Escolaridade, Sexo, Cidade, Idade Mínima e Idade Máxima), estes valores já estão cadastrado no BD Mysql. Quando realizo esta busca, com todas as opções que desejo e da maneira como desejo, tudo ocorre perfeitamente como programado, obtenho os resultados esperados. Mostrando inclusive a quantidade de páginas correspondentes a busca feita. Na minha primeira query (echo $sql;) o resultado vem assim, pelas opções escolhidas (estou optando por tudo para melhor visualizarem): SELECT * FROM tab_candidato WHERE `cargo_pretendido` = 'Analista e Desenvolvedor de Sistemas' AND `nivel` = 'Ensino Superior' AND `sexo` = 'Masculino' AND `cidade` = 'Palmas' AND `idade` >= '25' AND `idade` <= '55' ORDER BY nome ASC LIMIT 0,10 Na minha segunda query (echo $strCount;) o resultado vem assim: SELECT * FROM tab_candidato WHERE `cargo_pretendido` = 'Analista e Desenvolvedor de Sistemas' AND `nivel` = 'Ensino Superior' AND `sexo` = 'Masculino' AND `cidade` = 'Palmas' AND `idade` >= '25' AND `idade` <= '55' ORDER BY nome ASC O total contado está correto (echo $total;) e mostra, o valor: 19 -> total de páginas 3. O problema é quando dou o clique para as próximas páginas, elas me retornam vazia, ou seja, debugando posso perceber que a <div> correspondente não recebe os valores. <?php ini_set('display_errors', true); error_reporting(E_ALL); include 'conexao.php'; ?> <!-- GERAL --> <div class="pg_candidatos"> <!-- FILTRO DE BUSCA --> <fieldset> <legend>Selecione as Opções da Pesquisa</legend> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <ul> <!-- CARGO --> <li> <select name="comboCargo"> <option value="0" selected="selected">Cargo</option> <?php $qrCargo = mysqli_query($dados, "SELECT DISTINCT cargo_pretendido FROM tab_candidato ORDER BY cargo_pretendido ASC") or die(mysqli_error()); while ($linhaCargo = mysqli_fetch_array($qrCargo)) { ?> <option value="<?php echo $linhaCargo['cargo_pretendido']; ?>"> <?php echo $linhaCargo['cargo_pretendido']; ?> </option> <?php } ?> </select> </li> <!-- ESCOLARIDADE --> <li> <select name="comboNivel"> <option value="0" selected="selected">Escolaridade</option> <?php $qrNivel = mysqli_query($dados, "SELECT DISTINCT nivel FROM tab_candidato ORDER BY nivel ASC") or die(mysqli_error()); while ($linhaNivel = mysqli_fetch_array($qrNivel)) { ?> <option value="<?php echo $linhaNivel['nivel']; ?>"> <?php echo $linhaNivel['nivel']; ?> </option> <?php } ?> </select> </li> <!-- SEXO --> <li> <select name="comboSexo"> <option value="0" selected="selected">Sexo</option> <?php $qrSexo = mysqli_query($dados, "SELECT DISTINCT sexo FROM tab_candidato ORDER BY sexo ASC") or die(mysqli_error()); while ($linhaSexo = mysqli_fetch_array($qrSexo)) { ?> <option value="<?php echo $linhaSexo['sexo']; ?>"> <?php echo $linhaSexo['sexo']; ?> </option> <?php } ?> </select> </li> <!-- CIDADE --> <li> <select name="comboCidade"> <option value="0" selected="selected">Cidade</option> <?php $qrCidade = mysqli_query($dados, "SELECT DISTINCT cidade FROM tab_candidato ORDER BY cidade ASC") or die(mysqli_error()); while ($linhaCidade = mysqli_fetch_array($qrCidade)) { ?> <option value="<?php echo $linhaCidade['cidade']; ?>"> <?php echo $linhaCidade['cidade']; ?> </option> <?php } ?> </select> </li> <!-- IDADE MÍNIMA --> <li> <select name="comboIdadeMin"> <option value="0" selected="selected">Idade Mínima</option> <?php $qrIdadeMin = mysqli_query($dados, "SELECT DISTINCT idade FROM tab_candidato ORDER BY idade ASC") or die(mysqli_error()); while ($linhaIdadeMin = mysqli_fetch_array($qrIdadeMin)) { ?> <option value="<?php echo $linhaIdadeMin['idade']; ?>"> <?php echo $linhaIdadeMin['idade']; ?> </option> <?php } ?> </select> </li> <!-- IDADE MÁXIMA --> <li> <select name="comboIdadeMax"> <option value="0" selected="selected">Idade Máxima</option> <?php $qrIdadeMax = mysqli_query($dados, "SELECT DISTINCT idade FROM tab_candidato ORDER BY idade ASC") or die(mysqli_error()); while ($linhaIdadeMax = mysqli_fetch_array($qrIdadeMax)) { ?> <option value="<?php echo $linhaIdadeMax['idade']; ?>"> <?php echo $linhaIdadeMax['idade']; ?> </option> <?php } ?> </select> </li> <div class="limpar"></div> </ul> <div class="limpar"></div> <div class="bt_pesquisar"><input type="submit" value="Buscar" /></div> <div class="limpar"></div> </form> </fieldset> <!-- /FILTRO DE BUSCA --> <!-- RETORNO DA BUSCA --> <fieldset> <legend>Resultado da Pesquisa</legend> <?php $maximo = 10; $pagina = (isset($_GET['pagina'])) ? (int)$_GET['pagina'] : 1; $inicio = ($maximo * $pagina) - $maximo; if ($_SERVER['REQUEST_METHOD'] == "POST") { $where = array(); $cargo = $_REQUEST['comboCargo']; $nivel = $_REQUEST['comboNivel']; $sexo = $_REQUEST['comboSexo']; $cidade = $_REQUEST['comboCidade']; $idademin = $_REQUEST['comboIdadeMin']; $idademax = $_REQUEST['comboIdadeMax']; if ( $cargo ) { $where[] = " `cargo_pretendido` = '{$cargo}' "; } if ( $nivel ) { $where[] = " `nivel` = '{$nivel}' "; } if ( $sexo ) { $where[] = " `sexo` = '{$sexo}' "; } if ( $cidade ) { $where[] = " `cidade` = '{$cidade}' "; } if ( $idademin ) { $where[] = " `idade` >= '{$idademin}' "; } if ( $idademax ) { $where[] = " `idade` <= '{$idademax}' "; } $sql = "SELECT * FROM tab_candidato"; if( sizeof( $where ) ) $sql .= ' WHERE '.implode( ' AND ', $where ).' ORDER BY nome ASC LIMIT '.$inicio.','.$maximo; echo $sql; echo '<br />'; $query = mysqli_query($dados, $sql) or die( mysqli_error() ); $contar = mysqli_num_rows($query); if ($contar == 0) { echo "<p>Não foram encontrados registros!</p>"; } else { while ($rs = mysqli_fetch_array($query)) { ?> <div class="bx_resultado"> <div class="campo_result1"><?php echo $rs['nome']; ?></div> <div class="campo_result2"><?php echo $rs['email']; ?></div> <div class="campo_result3"><?php echo $rs['celular']; ?></div> <div class="campo_result4"><a href="visualizar.php?id=<?php echo $rs['id']; ?>"><img title="Clique visualizar" alt="Clique visualizar" src="images/ico_pesq.png"></a></div> <div class="limpar"></div> </div> <div class="limpar"></div> <?php }//while }//else $strCount = "SELECT * FROM tab_candidato"; if( sizeof( $where ) ) $strCount .= ' WHERE '.implode( ' AND ', $where ).' ORDER BY nome ASC'; echo $strCount; echo '<br />'; $qrCount = mysqli_query($dados, $strCount) or die( mysqli_error() ); $total = mysqli_num_rows($qrCount); echo $total; echo '<br />'; $pgs = ceil($total / $maximo); $menos = $pagina - 1; $mais = $pagina + 1; if ($pgs > 1){ echo "<br />"; // Mostragem de pagina if ($menos > 0) { echo "<a href=".$_SERVER['PHP_SELF']."?pagina=$menos>Anterior</a> "; } // Listando as paginas for ($i = 1; $i <= $pgs; $i++) { if ($i != $pagina) { echo "<a href=".$_SERVER['PHP_SELF']."?pagina=".$i.">$i</a> | "; } else { echo " <strong>".$i."</strong> | "; } } if ($mais <= $pgs) { echo "<a href=".$_SERVER['PHP_SELF']."?pagina=$mais>Próxima</a> "; } } }//if ?> </fieldset> <!-- /RETORNO DA BUSCA --> </div> <!-- /GERAL --> Já tentei várias formas de paginação e não obtive nenhuma solução. E não consigo deparar com o que estou errando. A tabela é única com todos os campos que preciso. Agradeço desde já a atenção dispensada, Rogarfil
  12. rogarfil

    Função incrementar com contador

    Prezados Colegas, Tenho o seguinte código HTML e respectivas funções, trata-se do seguinte se o cliente tiver dependentes ele clica no acorddion para abrir a opção de cadastro do dependente, se existir mais que um ele acresce quantos forem necessários. O que não consigo desenvolver é uma função que possa dar a possibilidade de comparar a idade dos dependentes que são acrescidos, pois até o procedimento do acorddion e acrescer o primeiro tudo corre bem. Acredito que o título é justamente o que preciso, pois se conseguir colocar um contador no id="nasc_dependente", posso resolver este problema, o máximo de dependentes será de 10. (Sei que se o campo fosse hidden, bastaria um contador com laço FOR). Segue abaixo o HTML e FUNCTION: <div class="exemplo"> <h3 class="accordion">Clique Aqui! Para cadastrar seus Dependentes</h3> <div class="accordion"> <div id="origem"> <fieldset class="grupo"> <div class="campo"> <label for="nome_dependente">Nome do Dependente</label> <input type="text" id="nome_dependente" name="nm_nome_dependente[]" style="width: 30em" value="" /> </div> <div class="campo"> <label for="parentesco">Grau de Parentesco</label> <select name="TB_GrauParentesco_pk_parentesco[]" id="parentesco"> <option>Selecione</option> <?php $consulta_grauparentesco2 = mysqli_query($dados, "SELECT pk_parentesco AS TB_GrauParentesco_pk_parentesco, tx_grau_parentesco FROM TB_GrauParentesco"); while ($parentesco2 = mysqli_fetch_array($consulta_grauparentesco2)) { $vpk_parentesco2 = $parentesco2["TB_GrauParentesco_pk_parentesco"]; $vnm_parentesco2 = $parentesco2["tx_grau_parentesco"]; echo ("<option value='" . $vpk_parentesco2 . "'>" . $vnm_parentesco2 . "</option>"); } ?> </select> </div> <div class="campo"> <label for="nasc_dependente">Data nascimento</label> <input type="text" id="nasc_dependente" name="dt_nasc_dependente[]" onblur="validarIdadeDep(this), adiciona()" onkeypress="mascara(this, mdata)" style="width: 10em" placeholder="dd/mm/yyyy" maxlength="10" /> <span id="msg_data"></span> </div> <input type="hidden" id="usuario" name="TB_Usuario_pk_usuario_cpf[]" value="<?PHP echo $cpf_rec; ?>" /> <img src="../img/add.gif" style="cursor: pointer;" onclick="duplicarCampos();" /> <img src="../img/cross.gif" style="cursor: pointer;" onclick="removerCampos(this);" /> </fieldset> </div> </div> </div> <script language="Javascript"> function validarIdadeDep() { dataNasc = document.getElementById("nasc_dependente").value; var dataAtual = new Date(); var anoAtual = dataAtual.getFullYear(); var anoNascParts = dataNasc.split('/'); var diaNasc = anoNascParts[0]; var mesNasc = anoNascParts[1]; var anoNasc = anoNascParts[2]; var idade = anoAtual - anoNasc; var mesAtual = dataAtual.getMonth() + 1; //se mês atual for menor que o nascimento,não faz aniversario ainda. if (mesAtual < mesNasc) { idade--; } else { //se tiver no mes do nasc,verificar o dia if (mesAtual <= mesNasc) { if (dataAtual.getDay() < diaNasc) { //se a data atual for menor que o dia de nascimento,quer dizer que ele ainda não fez aniversario idade--; } } } // se ativar o return ele mata o alert! //return idade; if (idade >= 70) { document.getElementById('nasc_dependente').value = ''; //limpa o campo document.getElementById('msg_data').innerHTML = "<p class='avm'>A idade limite é de 70 anos!</p>" document.getElementById('nasc_dependente').focus(); return false; } else { document.getElementById('msg_data').innerHTML = "<p class='avd'>Ok!</p>" } } function duplicarCampos() { var clone = document.getElementById('origem').cloneNode(true); var destino = document.getElementById('destino'); destino.appendChild(clone); var camposClonados = clone.getElementsByTagName('input'); for (i = 0; i < camposClonados.length; i++) { camposClonados.value = ''; } } function removerCampos(id) { var node1 = document.getElementById('destino'); node1.removeChild(node1.childNodes[0]); } </script> Quem puder me ajudar, até mesmo indicando bons cursos de javascript, agradeço desde já. Abs,
  13. rogarfil

    Pegar nascimento no input calcular idade

    Caros Diego e Mateus, Agradeço a oportunidade de terem elucidado meus conhecimentos, e onde além o entendimento da lógica faz as coisas funcionarem. Já resolvido! Abs,
  14. rogarfil

    Pegar nascimento no input calcular idade

    Prezado Diego, Segue exemplo de um colega e como eu penso em fazer, você digita a data de seu aniversario e através de onChange='calcularIdade()', ele faz o calculo informando a idade do usuário, enviando um "alert" e limpando o campo. function calcularIdade(){ dataNasc = document.getElementById("data_nascimento").value; var dataAtual = new Date(); var anoAtual = dataAtual.getFullYear(); var anoNascParts = dataNasc.split('/'); var diaNasc = anoNascParts[0]; var mesNasc = anoNascParts[1]; var anoNasc = anoNascParts[2]; var idade = anoAtual - anoNasc; var mesAtual = dataAtual.getMonth() + 1; //se mês atual for menor que o nascimento,não faz aniversario ainda. if (mesAtual < mesNasc){ idade--; } else { //se tiver no mes do nasc,verificar o dia if (mesAtual <= mesNasc){ if (dataAtual.getDay() < diaNasc){ //se a data atual for menor que o dia de nascimento,quer dizer que ele ainda não fez aniversario idade--; } } } // se ativar o return ele mata o alert! //return idade; alert("Sua idade é aproximadamente..:" + idade); } Penso em usar a mesma função mas com uma resalva de utilizar um código mais enxuto, seria o que exemplifico, nesta função PHP. $nascimento = '08/09/1960'; $dataNascimento = new DateTime(implode("-", array_reverse(explode("/", $nascimento)))); $dataHoje = new DateTime(); $diferenca = $dataNascimento->diff($dataHoje); echo $diferenca->format('%y anos'); O usuário terá que ter 18 à 70 anos (condição). Gostaria de saber qual comando para trabalhar com data é melhor utilizar e porque? Vou dizer-lhe que tentei fazer uma junção mais tenho muito caminho a percorrer ainda, embora já esteja no 3º período da faculdade, nos meus 54 anos. Abs,
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.