Ir ao conteúdo
  • Cadastre-se

thiagosvl

Membro Pleno
  • Posts

    69
  • Cadastrado em

  • Última visita

Tudo que thiagosvl postou

  1. Galera, como fazer para que o código abaixo adicione uma visita a mais a cada IP diferente que acesse, ou então com SESSION? O código: $id= $_GET['id']; $consulta = "SELECT visualizacoes FROM conteudo WHERE id = '$id'"; $resultado = mysqli_query ($conecta,$consulta)or die ("Falha na consulta"); $linha = mysqli_fetch_assoc($resultado); $visita = $linha["visualizacoes"]; $visualizacoes = $visita + 1; $insere = "UPDATE conteudo SET visualizacoes = $visualizacoes WHERE id = '$id'"; $resul_insere = mysqli_query($conecta,$insere) or die (mysqli_error($conecta)); // contador Desde já, grato!
  2. Estou usando o seguinte código como background em boa parte do meu projeto, tanto para div's como também para h1. /* background: #0260a9;*/ background: -webkit-linear-gradient(left, #0260a9, #333); /* For Safari 5.1 to 6.0 */ background: -o-linear-gradient(left, #0260a9, #333); /* For Opera 11.1 to 12.0 */ background: -moz-linear-gradient(left, #0260a9, #333); /* For Firefox 3.6 to 15 */ background: linear-gradient(left, #0260a9, #333); /* Standard syntax */ Funciona perfeitamente nos navegadores Chrome e Mozzila, já nó Internet Explorer me parece que ele não reconhece, e com isso está ficando tudo branco, complicando a usabilidade do usuário... Gostaria de saber se tem alguma solução para que o Explorer reconheça. Caso não haja, gostaria de saber se é possível adicionar "background: #0260a9;" como background uma segunda opção, caso o navegador do usuário não reconheça a propriedade linear gradient do css3. Desde já, agradeço! Thiago Barros.
  3. Pode ajudar-me com essa validação? Ainda estou estudando, e creio que não sei por onde começar. Se puder avaliar o código PHP lá em cima que envia!
  4. Olá @dif , eu gostaria que abrisse o arquivo no navegador. Mas já consegui da seguinte forma: <a target="_blank" title="Arquivo PDF" href="pdf/<?php echo $LoginCliente ?>.pdf">Clique aqui para acessar o arquivo PDF</a> Agradeço pela ajuda, pode dar como resolvido e encerrar!
  5. Boa tarde! Desenvolvi um sistema de upload de arquivos com base em um código do Thiago Belem, e até o momento tudo funciona corretamente. Código de upload de arquivos PDF: // Pasta onde o arquivo vai ser salvo$_UP['pasta'] = '../pdf/';// Tamanho máximo do arquivo (em Bytes)$_UP['tamanho'] = 1024 * 1024 * 2; // 2Mb// Array com as extensões permitidas$_UP['extensoes'] = array('pdf');// Renomeia o arquivo? (Se true, o arquivo será salvo como .jpg e um nome único)$_UP['renomeia'] = false;// Array com os tipos de erros de upload do PHP$_UP['erros'][0] = 'Não houve erro';$_UP['erros'][1] = 'O arquivo no upload é maior do que o limite do PHP';$_UP['erros'][2] = 'O arquivo ultrapassa o limite de tamanho especifiado no HTML';$_UP['erros'][3] = 'O upload do arquivo foi feito parcialmente';$_UP['erros'][4] = 'Não foi feito o upload do arquivo';// Verifica se houve algum erro com o upload. Se sim, exibe a mensagem do erroif ($_FILES['arquivo']['error'] != 0) { die("Não foi possível fazer o upload, erro:" . $_UP['erros'][$_FILES['arquivo']['error']]); exit; // Para a execução do script}// Caso script chegue a esse ponto, não houve erro com o upload e o PHP pode continuar// Faz a verificação da extensão do arquivo$up = explode('.',$_FILES['arquivo']['name']);$extensao = strtolower(end($up));if (array_search($extensao, $_UP['extensoes']) === false) { echo "Por favor, envie arquivos com a extensão PDF"; exit;}// Faz a verificação do tamanho do arquivoif ($_UP['tamanho'] < $_FILES['arquivo']['size']) { echo "O arquivo enviado é muito grande, envie arquivos de até 2Mb."; exit;}// O arquivo passou em todas as verificações, hora de tentar movê-lo para a pasta// Primeiro verifica se deve trocar o nome do arquivoif ($_UP['renomeia'] == true) { // Cria um nome baseado no UNIX TIMESTAMP atual e com extensão .pdf $nome_final = md5(time()).'.pdf';} else { // Mantém o nome original do arquivo $nome_final = $_FILES['arquivo']['name'];} // Depois verifica se é possível mover o arquivo para a pasta escolhidaif (move_uploaded_file($_FILES['arquivo']['tmp_name'], $_UP['pasta'] . $nome_final)) { // Upload efetuado com sucesso, exibe uma mensagem e um link para o arquivo echo "Upload efetuado com sucesso!"; echo '<a href="' . $_UP['pasta'] . $nome_final . '">Clique aqui para acessar o arquivo</a>';} else { // Não foi possível fazer o upload, provavelmente a pasta está incorreta echo "Não foi possível enviar o arquivo, tente novamente";}?> Dentro do meu sistema de meu sistema de LOGIN, cada cliente terá acesso ao seu arquivo PDF, uma vez que o arquivo terá o mesmo nome que o login, ou seja: login = thiagosvl arquivo pdf na pasta PDF/: thiagosvl.pdf Tentei criar um link direcionando o cliente para seu respectivo arquivo, mas não funcionou, então deixei apenas o caminho da pasta. Da forma que está, quando eu clico no link sou direcionado diretamente para a pasta pdf/, aonde tem a lista de todos os PDF's. Gostaria que quando o cliente clicasse no link, fosse direcionado para seu respectivo arquivo. Uma vez que, com o código abaixo, ele apenas é direcionado para a pasta que contém TODOS os pdf's. LINK PDF INCOMPLETO: <?php echo '<a target="_blank" title="Arquivo PDF" href="pdf/">Clique aqui para acessar o arquivo PDF</a>'; ?> Conto com a ajuda de vocês, até porque acredito que seja algo simples. Desde já, obrigado!
  6. Então se houverem dois ou mais resultados com o termo digitado, só será exibido o primeiro? Porque o tema dos conteúdos desse site, por mais que sejam divididos em três paginas, será único..
  7. @FabianoS Eu irei testar o sistema. Obrigado mais uma vez! Mas vamos imaginar uma situação: Se eu pesquisar "php" e algo for encontrado no DICIONARIO e também nos TEXTOS, só será exibido um resultado pra tal? Eu imagino uma situação aonde se encontrar em DICIONARIO e TEXTOS seja apresentados os dois resultados, mas cada um com seu respectivo formato.. É possivel?
  8. Eu armazeno tudo na mesma tabela, pois antes tinha três tabelas e deu um trabalho pra chamar os posts de cada. Com tudo armazenado na mesma tabela, eu uso o id_categoria pra separar os conteúdos.. Acha melhor recriar a tabela e as chamadas php? Estou completamente perdido rs
  9. Não, funciona da seguinte forma: A id_categoria recebe as três paginas: Textos, dicionário e pontos
  10. @FabianoS E por onde eu posso começar? Se for preciso eu altero minhas colunas, até porque não tenho conteúdo no site, só estou estruturando.. Com base na estrutura atual da tabela, me indicaram a fazer condições, uma espécie de filtro da seguinte forma: if($condicao == 1){ $sql = "SELECT coluna1, coluna3, coluna5 FROM tabela;";}else if($condicao == 2){ $sql = "SELECT coluna1, coluna2, coluna10 FROM tabela;";}... else if($condicao == N) $sql = "SELECT colunax FROM tabela;";}else{ //cria uma consulta padrão, que pode ser a geral por exemplo $sql = "SELECT * FROM tabela;";} $procura_textos = mysqli_query($conecta,$sql); while... E mesmo depois do codigo acima eu continuei confuso.. Acha melhor fazer da forma que você mencionou ou essa acima?
  11. Boa tarde! Estou montando um sistema de busca PHP e até então está da seguinte forma: <?php $busca = $_POST["busca"];$procura = "+" . $busca; $procura_textos = mysqli_query($conecta, "SELECT * FROM conteudo WHERE MATCH(titulo,texto) AGAINST('" . $busca . "' IN BOOLEAN MODE)"); while($textos = mysqli_fetch_object($procura_textos)) {echo '<div class="textos">';echo '<div class="cadaTexto"><div class="titulo-textos"><a href="textosC.php?id='.$textos->id.'">'.$textos->titulo.'</a></div>';echo (limitarTexto('<div class="texto"><pre>'.$textos->texto.'</pre></div>', $limite = 450));echo '<a class="linkTextoCompleto" href="textosC.php?id='.$textos->id.'">'.'Clique para ler +'.'</a></div></div>'; echo '<div class="clear">'.'</div>';}?> Tenho um banco de dados que serve a três páginas, que são elas: DICIONARIO, TEXTOS E PONTOS. O banco tem a seguinte estrutura: ID - id de cada POSTAGEM ID_CATEGORIA - QUE SERÁ DICIONARIO, TEXTOS OU PONTOS ID_DICIONARIO - SERVE PARA O MENU ID_PONTOS - SERVE PARA O MENU TITULO - ... TEXTO .. AUTOR .. VISUALIZAÇÕES .. DATA .. PLAY - CARREGA VIDEO DO YOUTUBE DOWNLOAD - LINK PARA O DOWNLOAD DA MUSICA A listagem com ó codigo PHP lá de cima acontece e lista todos os itens procurados, mas eu gostaria de impor condições, por exemplo: Quando eu pesquisar 'forum', provavelmente ele estará na página TEXTOS ou na página DICIONARIO e dificilmente na página PONTOS, ou seja, não será preciso carregar o CAMPO PLAY e nem o campo DOWNLOAD. Caso eu procure um trecho de uma música, a estrutura para cada post deve seguir o mesmo que a página PONTOS segue, que é carregar o download, o play.. No código a estrutura é sempre a mesma, e isso complica.. Como agir? desde já, agradeço! É assim que cada post está aparecendo com a estrutura atual: echo '<div class="textos">';echo '<div class="cadaTexto">';echo 'A categoria é '.'<b style="color:red">'.$textos->id_categoria.'</b>';echo '<div class="titulo-textos"><a href="textosC.php?id='.$textos->id.'">'.$textos->titulo.'</a></div>';echo (limitarTexto('<div class="texto"><pre>'.$textos->texto.'</pre></div>', $limite = 300));echo '<a class="linkTextoCompleto" href="textosC.php?id='.$textos->id.'">'.'Clique para ler +'.'</a></div></div>'; echo '<div class="clear">'.'</div>';} Sendo que os posts de música devem aparecer com uma formatação diferente, que no caso seria: echo '<div class="pontos"><div class="titulo-pontos">'.$row['titulo'].'</div>';echo '<div class="Flexible-container-pontos">'.$row['play'].'</div>'; echo '<div class="ponto-pontos"><pre>'.$row['texto'].'</pre></div>';echo '<a href="'.$row['download'].'" target="_blank">Download<label class="icon-download"></label></a></div>';echo '<div class="clear">'.'</div>';} Ficando da seguinte forma: @dif , pode ajudar-me?
  12. Mas no caso isso seria feito com javascript ou css mesmo? Engraçado é que se eu deixar o menu no topo com position:relative ele não cria esse problema, pois o viewport cria o scroll automaticamente, agora com position:fixed os <li> também ficam fixos, mesmo eu adicionando position relative.. O menu preso lá no topo é legal, mas se ele pudesse acompanhar o scroll da pagina seria ótimo!
  13. @FabianoS Pra falar a verdade não está acompanhando, da uma olhada lá. Como o menu está com fixed, o conteudo deveria criar um scroll conforme a quantidade de <li> que aparecessem.. Segue a linha com o código fixo: header#menuCelular { display:block; position: fixed;} Caso eu continue rolando a pagina, o menu nao acompanha, só exibe as LI presente no viewport.
  14. Boa tarde! Tenho uma pagina que lista determinados posts que estão presentes em meu banco de dados, mas em algumas situações o conteúdo do post é extenso e acaba tomando muito espaço da página. Gostaria da ajuda de vocês para estar criando um link com aquele famoso "ler matéria/completo completa(o)". O que sei até então é que irá criar essa página única através do ID de cada post, mas por ser leigo em PHP, não tenho a mínima noção de como criar tal situação. O código a seguir contem a listagem e também uma paginação simples. Segue o código da página que a listagem acontece: TEXTOS.PHP <?php$cabecalho_title = "Textos";include('_includes/topo.php');?><div id="centraliza" class="clearfix"> <section id="container" class="clearfix"> <article id="conteudo" class="clearfix"> <h3 class="titulo-container-esquerdo">Textos</h3><?php$limite_paginacao = 4;$sql_contagem = mysqli_query($conecta, "SELECT * FROM textos") or die (mysql_error());$sql_resultado = ceil(mysqli_num_rows($sql_contagem) / $limite_paginacao) or die (mysql_error());$pg = (isset($_GET["pg"])) ? (int)$_GET["pg"] : 1 or die (mysql_error()); ;$start = ($pg - 1) * $limite_paginacao;$strSQL = "SELECT * FROM textos ORDER BY grupo_id DESC LIMIT $start, $limite_paginacao";$rs = mysqli_query($conecta,$strSQL);$error = mysqli_error($conecta);if(!$error){while($row = mysqli_fetch_array($rs)) {echo '<div id="textos"><div id="titulo-textos">'.$row['titulo'].'</div>';echo '<div id="texto"><pre>'.$row['texto'].'</pre></div>' . "</div>";echo '<div id="clear">'.'</div>';}}else{echo $error;}echo '<div id="paginacao">';if($sql_resultado > 1 && $pg<=$sql_resultado) {for($i=1; $i<=$sql_resultado; $i++) { echo "<a class='a-paginacao' href='?pg=$i'>$i</a>";}}echo '</div>';?> </article><?phpinclude('_includes/rodape.php');?>
  15. Agradeço a atenção, pois testei e funcionou! Pelo que entendi,a ideia do 'z-index' é distribuir a ordem em que os elementos irão aparecer? Uma outra dúvida quanto ao menu: eu adicionei um position:fixed no header#menuCelular para ele acompanhar todo o scroll do site. Até ai tudo bem, o problema é que se a pessoa clicar nos sub-menu's, o scroll do site não acompanha, pois os <li> também ficam fixos. A unica forma que eu consegui arrumar foi tirando o position:fixed, mas o menu já não acompanha mais o scroll da pagina. Alguma dica quanto a isso? Mais uma vez, obrigado.
  16. Olá @FanianoS Obrigado pelo elogio! Esse é o primeiro projeto que eu crio, então to criando e aprendendo ao mesmo tempo.. Eu já tinha visto algo com z-index, mas nunca foi a fundo para entender. Amanha verei o código novamente e tomarei as medidas cabíveis! Mais uma vez obrigado e boa noite!
  17. Boa noite! Estou tendo problemas com meu menu responsivo, uma vez que ele funciona ao clicar - e isso inclui o drop-down -. O erro fica por conta de que metade do menu é "ocultado" pelo conteudo das seguintes div's: div#container, um H3 e a div conteudo. Segue o CSS do MENU: header#menuCelular { height:40px; color:#fff; width:100%; background-color:#0260a9; display:none; } #btn-menu { display:none; } /* background-color:#0260a9; */ .menuMobile ul { background-color:#0260a9; display:flex; border-top:1px solid white; } .menuMobile ul ul { display:none; } .menuMobile a { display:block; padding:15px 0px; text-align:center; color:#fff; } .menuMobile a:hover { background: rgba(0,0,0,0.3); } .menuMobile ul li:hover ul { display:block; position:absolute; } @[member="MEDIA"] (max-width:976px) { header#menuCelular { display:block; position:fixed; } header#menuCelular label#icon-menu { font-size:1.6em; cursor:pointer; display:block; height:100%; width:40px; padding:7px 1px; border-right:1px solid white; } header#menuCelular label#icon-seta { font-size:1em; right:5px; position:absolute; cursor:pointer; } .menuMobile { width:65%; transform: translateY(-130%); transition:all 0.3s; } /* background-color:#0260a9; */ .menuMobile ul { display:block; background:#0260a9; height:100%; } .menuMobile ul li { border-bottom:1px solid white; } .menuMobile ul li:hover ul { display:none; position:static; } #btn-menu:checked ~ .menuMobile { transform: translateX(0%); } .menuMobile ul ul { background-color:#1874CD; } .menuMobile ul ul a { padding:15px 35px; text-align:center; } } SEGUE CSS das DIVS: section#container { margin-top:0; margin:0; border:0; } h3.titulo-container-esquerdo { border-radius:0; background-color:#0260a9; } section#container article#conteudo { width:100%; text-align:justify; position:relative; margin:0; float:none; background-color:transparent; border:0; margin-top:0.450em; min-height:16em; }
  18. Meu site está trabalhando com um menu responsivo, e a ideia é adicionar um dropdown para alguns itens do menu. Com o código que fiz até agora, o menu funciona, mas todas as LI são carregadas, e não apenas as que eu quero.. Gostaria da ajuda para fazer com que os <ul> dentro dos <li> só aparecessem caso eu clicasse.. HTML: <div class="rmm"> <ul> <li><a href='#link'>link</a> <ul class="submenu-1"> <!-- Esse é o 2 nivel ou o primeiro Drop Down --> <?php while($row = mysqli_fetch_array($sqlDois)) { ?> <li> <a href="link.php?gid=<?php echo $row['grupo_id']; ?>"> <?php echo $row['grupo_orixas']; ?> </a> </li> <?php } ?> </ul> </li> <li><a href='#link'>linklink</a> <ul class="submenu-1"> <!-- Esse é o 2 nivel ou o primeiro Drop Down --> <li><a href="link.php">linklink</a></li> <li><a href="link.php">link</a></li> <li><a href="link.php">link</a></li> <li><a href="link.php">link</a></li> </ul> </li> <li><a href='link.php'>link</a></li> <li><a href='#link'>Aprendizado</a> <ul class="submenu-1"> <!-- Esse é o 2 nivel ou o primeiro Drop Down --> <li><a href="textos.php">Textos</a></li> <li><a href="dicionario.php">Dicionario</a></li> </ul> </li> <li><a href='fotos.php'>Fotos</a></li> <li><a href='link.php'>link</a></li> <li><a href='#link'>Pontos link</a> <ul class="submenu-1"> <!-- Esse é o 2 nivel ou o primeiro Drop Down --> <?php while($row = mysqli_fetch_array($sql)) { ?> <li> <a href="pontos.php?gid=<?php echo $row['grupo_id']; ?>"> <?php echo $row['grupo_id']; ?> </a> </li> <?php } ?> </ul> </li> </ul> Segue o CSS .rmm { display:none; position:relative; width:100%; padding:0px; text-align: center; line-height:19px !important; padding-bottom:3px;}.rmm * { -webkit-tap-highlight-color:transparent !important; font-family:Arial;}.rmm a { color:white; text-decoration:none;}.rmm .rmm-main-list, .rmm .rmm-main-list li { margin:0px; padding:0px;}.rmm ul { display:block; width:auto !important; margin:0 auto !important; overflow:hidden; list-style:none;}/* sublevel menu - in construction */.rmm ul li ul, .rmm ul li ul li, .rmm ul li ul li a { display:block !important; height:100% !important; width:100% !important;}/* */.rmm .rmm-main-list li { display:inline; padding:padding:0px; margin:0px !important;}.rmm-toggled { display:none; width:100%; position:relative; overflow:hidden;}.rmm-button:hover { cursor:pointer;}.rmm .rmm-toggled ul { display:none; margin:0px !important; padding:0px !important;}.rmm .rmm-toggled ul li { display:block; margin:0 auto !important;}/* GRAPHITE STYLE */.rmm.graphite .rmm-main-list li a { display:inline-block; padding:8px 30px 8px 30px; margin:0px -3px 0px -3px; font-size:15px; text-shadow:1px 1px 1px #333333; background-color:#444444; border-left:1px solid #555555; background-image:url('../rmm-img/graphite-menu-bg.png'); background-repeat:repeat-x;}.rmm.graphite .rmm-main-list li a:hover { background-image:url('../rmm-img/graphite-menu-bg-hover.png');}.rmm.graphite .rmm-main-list li:first-child a {-webkit-border-top-left-radius: 6px;-webkit-border-bottom-left-radius: 6px;-moz-border-radius-topleft: 6px;-moz-border-radius-bottomleft: 6px;border-top-left-radius: 6px;border-bottom-left-radius: 6px;}.rmm.graphite .rmm-main-list li:last-child a {-webkit-border-top-right-radius: 6px;-webkit-border-bottom-right-radius: 6px;-moz-border-radius-topright: 6px;-moz-border-radius-bottomright: 6px;border-top-right-radius: 6px;border-bottom-right-radius: 6px;}.rmm.graphite .rmm-toggled { width:100%; background-color:#0260a9; min-height:36px;}.rmm.graphite .rmm-toggled-controls { display:block; height:36px; color:white; text-align:left; position:relative; background-image:url('../rmm-img/graphite-menu-bg.png'); background-repeat:repeat-x;}.rmm.graphite .rmm-toggled-title { position:relative; top:9px; left:15px; font-size:16px; color:white; text-shadow:1px 1px 1px black;}.rmm.graphite .rmm-button { display:block; position:absolute; right:15px; top:8px;}.rmm.graphite .rmm-button span { display:block; margin-top:4px; height:2px; background:white; width:24px;}.rmm.graphite .rmm-toggled ul li a { display:block; width:100%; background-color:#0260a9; text-align:center; padding:10px 0px 10px 0px; border-top:1px solid white;}/* borda no primeiro LI menu mobile css */.rmm .primeiroLiMenuMobile { border-top:1px solid white;}.rmm.graphite .rmm-toggled ul li a:active { background-color:#07a5f2; border-bottom:1px solid #444444; border-top:1px solid #444444;}/* SAPPHIRE STYLE */.rmm.sapphire .rmm-main-list li a { display:inline-block; padding:8px 30px 8px 30px; margin:0px -3px 0px -3px; font-size:15px; background-color:#537b9f; border-left:1px solid #3e587b; background-image:url('../rmm-img/sapphire-menu-bg.png'); background-repeat:repeat-x;}.rmm.sapphire .rmm-main-list li a:hover { background:#3e597b;}.rmm.sapphire .rmm-main-list li:first-child a {-webkit-border-top-left-radius: 5px;-webkit-border-bottom-left-radius: 5px;-moz-border-radius-topleft: 5px;-moz-border-radius-bottomleft: 5px;border-top-left-radius: 5px;border-bottom-left-radius: 5px;}.rmm.sapphire .rmm-main-list li:last-child a { -webkit-border-top-right-radius: 5px;-webkit-border-bottom-right-radius: 5px;-moz-border-radius-topright: 5px;-moz-border-radius-bottomright: 5px;border-top-right-radius: 5px;border-bottom-right-radius: 5px;}.rmm.sapphire .rmm-toggled { width:100%; background-color:#537b9f; min-height:36px;}.rmm.sapphire .rmm-toggled-controls { display:block; height:36px; color:white; text-align:left; position:relative; background-image:url('../rmm-img/sapphire-menu-bg.png'); background-repeat:repeat-x;}.rmm.sapphire .rmm-toggled-title { position:relative; top:9px; left:15px; font-size:16px; color:white;}.rmm.sapphire .rmm-button { display:block; position:absolute; right:9px; top:7px; width:20px; padding:0px 7px 0px 7px; border:1px solid #3e587b; background-image:url('../rmm-img/sapphire-menu-bg.png'); background-position:top;}.rmm.sapphire .rmm-button span { display:block; margin:4px 0px 4px 0px; height:2px; background:white; width:20px;}.rmm.sapphire .rmm-toggled ul li a { display:block; width:100%; background-color:#537698; text-align:center; padding:10px 0px 10px 0px; border-top:1px solid white;}.rmm.sapphire .rmm-toggled ul li a:active { background-color:#3c5779; border-bottom:1px solid #3c5779; border-top:1px solid #3c5779;}.rmm.sapphire .rmm-toggled ul li:first-child a { border-top:1px solid #3c5779 !important;} @[member=MEDIA] screen and (min-width: 0px) and (max-width:976px) { .rmm { display:block;} } Segue o JAVASCRIPT (de terceiros): function responsiveMobileMenu() { $('.rmm').each(function() { $(this).children('ul').addClass('rmm-main-list'); // mark main menu list var $style = $(this).attr('data-menu-style'); // get menu style if ( typeof $style == 'undefined' || $style == false ) { $(this).addClass('graphite'); // set graphite style if style is not defined } else { $(this).addClass($style); } /* width of menu list (non-toggled) */ var $width = 0; $(this).find('ul li').each(function() { $width += $(this).outerWidth(); }); // if modern browser if ($.support.leadingWhitespace) { $(this).css('max-width' , $width*1.05+'px'); } // else { $(this).css('width' , $width*1.05+'px'); } });}function getMobileMenu() { /* build toggled dropdown menu list */ $('.rmm').each(function() { var menutitle = $(this).attr("data-menu-title"); if ( menutitle == "" ) { menutitle = "Menu"; } else if ( menutitle == undefined ) { menutitle = "Menu"; } var $menulist = $(this).children('.rmm-main-list').html(); var $menucontrols ="<div class='rmm-toggled-controls'><div class='rmm-toggled-title'>" + menutitle + "</div><div class='rmm-button'><span> </span><span> </span><span> </span></div></div>"; $(this).prepend("<div class='rmm-toggled rmm-closed'>"+$menucontrols+"<ul>"+$menulist+"</ul></div>"); });}function adaptMenu() { /* toggle menu on resize */ $('.rmm').each(function() { var $width = $(this).css('max-width'); $width = $width.replace('px', ''); if ( $(this).parent().width() < $width*1.05 ) { $(this).children('.rmm-main-list').hide(0); $(this).children('.rmm-toggled').show(0); } else { $(this).children('.rmm-main-list').show(0); $(this).children('.rmm-toggled').hide(0); } }); }$(function() { responsiveMobileMenu(); getMobileMenu(); adaptMenu(); /* slide down mobile menu on click */ $('.rmm-toggled, .rmm-toggled .rmm-button').click(function(){ if ( $(this).is(".rmm-closed")) { $(this).find('ul').stop().show(300); $(this).removeClass("rmm-closed"); } else { $(this).find('ul').stop().hide(300); $(this).addClass("rmm-closed"); } }); }); /* hide mobile menu on resize */$(window).resize(function() { adaptMenu();}); Obs.: Removi os espaços dos códigos para que não ficasse tão cumprido. Como já dito, gostaria que os <ul> e seus respectivos <li> só aparecem quando eu clicasse sobre tal <li> Ex: <ul> <li><a href="#">LINK</a></li> <li><a href="#">LINK</a></li> <li><a href="#">LINK</a> <ul> <li><a href="#">SUBMENULINK</a></li> <li><a href="#">SUBMENULINK2</a></li> </ul> </li></ul> Conto com a ajuda de vocês. Desde já, agradeço.
  19. Estou tentando criar um menu responsivo - a princípio sem dropdown - e ele funciona bem, até a parte principal (pasmem haha), que é quando eu aperto na imagem - no caso um checkbox - e o menu não aparece. Acredito que o erro esteja na seguinte linha: input#btn-menu:checked - nav.menu { margin:0; } Com o código acima, ele deveria remover o width:70% que existe no código do nav,menu, que segue: nav.menu { position:absolute; background:#4e94ab; width:70%; } Segue o HTML e o CSS <!DOCTYPE html><html lang="pt-br"><head><title>MENU</title><meta charset="UTF-8"><meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, maximum scale=1, minimum scale=1"><link rel="stylesheet" href="menu.css"></head><body><header><input type="checkbox" id="btn-menu"><label for="btn-menu"><img src="_imagens/icone-menu.png" width="35" height="35" alt=""></label><nav class="menu"><ul><li><a href="">Inicio</a></li><li><a href="">Inicio</a></li><li><a href="">Inicio</a></li><li><a href="">Inicio</a></li><li><a href="">Inicio</a></li></ul></nav></header></body></html> CSS: body {margin:0;font-family: sans-serif;}header {width:100%;background:#4e94ab;}input#btn-menu {display:none;}header label {display:none;width:30px;height:30px;padding:10px;border-right:1px solid #fff;}header label:hover {cursor:pointer;background:rgba(0,0,0,0.3);}nav.menu ul {margin:0;list-style-type:none;padding:0;display:flex;}nav.menu li {border-right:1px solid #fff;}nav.menu li:hover {background: rgba(0,0,0,0.3);}nav.menu li a {display:block;padding:15px 20px;color:#fff;text-decoration:none;}@[member="MEDIA"] (max-width:768px) {header label {display:block;}nav.menu {position:absolute;background:#4e94ab;width:70%;;}nav.menu ul {flex-direction:column;}nav.menu li {border-top:1px solid #FFF;}input#btn-menu:checked - nav.menu {margin:0;}} Obs.: Como eu faço para adicionar um dropdown nesse menu? Conto com vocês, obrigado, Thiago
  20. Boa noite, @dif Desculpe-me por não comentar mais nada sobre o assunto, acontece que não estive em casa por esses dias.. o Sistema tem funcionado perfeitamente, até o momento em que eu fiz com que ele buscasse uma nova tabela, com mais um WHILE. Segue o código funcionando sem a terceira tabela: <?php $busca = $_POST["busca"]; $procura = "+" . $busca;$procura_textos = mysqli_query($conecta, "SELECT * FROM textos WHERE MATCH(texto) AGAINST('" . $busca . "' IN BOOLEAN MODE)"); $procura_pontos = mysqli_query($conecta, "SELECT * FROM pontos WHERE MATCH(texto) AGAINST('" . $busca . "' IN BOOLEAN MODE)"); while($textos = mysqli_fetch_object($procura_textos)) {echo '<div id="verifica"><div id="titulo-pontos">'.$textos->titulo.'</div>';echo '<div id="ponto-pontos">'.$textos->texto.'</div>' . "</div>";echo '<div id="clear">'.'</div>';} while($pontos = mysqli_fetch_object($procura_pontos)) {echo '<div id="verifica"><div id="titulo-pontos">'.$pontos->titulo.'</div>';echo '<div id="play-pontos"><audio controls="controls"><p>Seu nevegador não suporta o elemento audio.</p><source src="'.$pontos->play.'" type="audio/mp3" /></audio></div>';echo '<div id="download-pontos"><a href="'.$pontos-> download.'" target="_blank">DOWNLOAD</a></div>';echo '<div id="ponto-pontos"><pre>'.$pontos->texto.'</pre></div></div>';};?> O código funciona perfeitamente, o unico problema nele é que na linha a seguir eu só consigo buscar o conteudo pelo texto, e nao pelo titulo e texto.. alguma dica? $procura_pontos = mysqli_query($conecta, "SELECT * FROM pontos WHERE MATCH(texto) AGAINST('" . $busca . "' IN BOOLEAN MODE)"); Outra situação: No codigo acima acontecem dois SELECTS em duas tabelas e duas repetições WHILE. Ao tentar adicionar um TERCEIRO SELECT e consequentemente um terceiro WHILE, o código apresenta o seguinte erro: Linha 48: O código ficou da seguinte forma com as tres repetições: <?php $busca = $_POST["busca"]; $procura = "+" . $busca;$procura_textos = mysqli_query($conecta, "SELECT * FROM textos WHERE MATCH(texto) AGAINST('" . $busca . "' IN BOOLEAN MODE)"); $procura_pontos = mysqli_query($conecta, "SELECT * FROM pontos WHERE MATCH(texto) AGAINST('" . $busca . "' IN BOOLEAN MODE)");$procura_orix = mysqli_query($conecta, "SELECT * FROM orixas WHERE MATCH(texto) AGAINST('" . $busca . "' IN BOOLEAN MODE)"); while($textos = mysqli_fetch_object($procura_textos)) {echo '<div id="verifica"><div id="titulo-pontos">'.$textos->titulo.'</div>';echo '<div id="ponto-pontos">'.$textos->texto.'</div>' . "</div>";echo '<div id="clear">'.'</div>';} while($pontos = mysqli_fetch_object($procura_pontos)) {echo '<div id="verifica"><div id="titulo-pontos">'.$pontos->titulo.'</div>';echo '<div id="play-pontos"><audio controls="controls"><p>Seu nevegador não suporta o elemento audio.</p><source src="'.$pontos->play.'" type="audio/mp3" /></audio></div>';echo '<div id="download-pontos"><a href="'.$pontos-> download.'" target="_blank">DOWNLOAD</a></div>';echo '<div id="ponto-pontos"><pre>'.$pontos->texto.'</pre></div></div>';};while($orix = mysqli_fetch_object($procura_orix)) {echo '<div id="verifica"><div id="titulo-pontos">'.$orix->titulo.'</div>';echo '<div id="ponto-pontos">'.$textos->orix.'</div>' . "</div>";echo '<div id="clear">'.'</div>';}?> Conto com sua ajuda, Desde já, obrigado, mais uma vez!
  21. @dif Desculpe-me pelo transtorno e a falta de atenção, sinceramente.. Enfim.. $busca = $_POST["busca"]; $procura = "+" . $busca; $procura = mysqli_query($conecta, "SELECT * FROM textos WHERE MATCH(texto) AGAINST('" . $busca . "' IN BOOLEAN MODE)"); Insisto, se mais uma vez fiz algo que não deveria, peço minhas mais sinceras desculpas! No WHERE MATCH só busca o campo texto.. como faço para buscar o campo texto e titulo?
  22. @dif No caso meus campos FULLTEXT serão "titulo" e "texto" das tabelas "textos" e "pontos", correto? Como já havia me pedido, irei deixar o link do meu humilde banco de dados! rs Segue o link: https://mega.nz/#!JBQSDJSR!nwnNAPA_KuSrJy9M8-BONhy1rUrLTEbo650zYBgYu04 Acessei meu PHPMYADMIN, fui no banco de dados, acessei as duas tabelas que deveriam ser alteradas e me deparei com a seguinte situação: TABELA textos TABELA pontos Aonde devo alterar? Porque percebi que na lateral direita tem alguns com o icone de ÍNDICE ativos, outros não, e fiquei sem entender.. Outra dúvida: a estrutura do código deverá ficar assim?: <?php $busca = $_POST["busca"]; $procura = "+" . $busca; $procura = mysqli_query($conecta, "SELECT textos.titulo, textos.texto FROM textos WHERE MATCH(texto) AGAINST('"+$busca"' IN BOOLEAN MODE)"); while($textos = mysqli_fetch_object($procura)) { echo '<div id="verifica">'.$textos->titulo . "<br/>" . $textos->texto ."</div>"; };?> Desculpe por criar tanto transtorno, realmente não era minha intenção. Se houver um jeito de comunicação mais direto, tudo poderia ser mais objetivo.. OBS: tentei rodar o código acima e recebi o seguinte erro: Linha 19: $procura = mysqli_query($conecta, "SELECT textos.titulo, textos.texto FROM textos WHERE MATCH(texto) AGAINST('"+$busca"' IN BOOLEAN MODE)");
  23. Boa tarde, @dif Irei testar o sistema agora e já já postarei o resultado. Você disse que mostraria como crias as indices.. pode explicar-me como e também para que servem? Outra coisa.. esse linha de código: WHERE MATCH(texto) AGAINST('"+parte da frase"' IN BOOLEAN MODE); No "+parte da frase" devo colocar o que? fiquei meio perdido. Desde já, obrigado!
  24. Boa noite @dif e mais uma vez, obrigado. Duas coisas a dizer: Utilizei o primeiro método com UNION, e o resultado que obtive foi aquele famoso erro de "Warning: mysqli_fetch_object() expects parameter 1 to be mysqli_result, boolean given in ". O código ficou com a seguinte estrutura (me corrija se estiver errado!): <?php $busca = $_POST["busca"]; $procura_textos = mysqli_query($conecta, "SELECT * FROM textos WHERE texto LIKE '%$busca%' UNION SELECT * FROM pontos WHERE texto LIKE '%$busca%'"); while($textos = mysqli_fetch_object($procura_textos)) { echo '<div id="verifica">'.$textos->titulo . "<br/>" . $textos->texto ."</div>"; }; ?> Por fim, testei o código de criação da tabela VIEW, e o resultado (negativo, infelizmente) foi o seguinte: Alguma luz? Desde já, obrigado! obs: Relembrando que com o seguinte código a busca acontece nas duas tabelas. Porém, de forma inusitada, só trás os valores dependendo da palavra que eu digitar. <?php $busca = $_POST["busca"]; $procura_textos = mysqli_query($conecta, "SELECT * FROM textos WHERE titulo LIKE '% $busca %' OR texto LIKE '% $busca %'"); $procura_pontos = mysqli_query($conecta, "SELECT * FROM pontos WHERE titulo LIKE '% $busca %' OR texto LIKE '% $busca %'"); while($textos = mysqli_fetch_object($procura_textos)) { echo '<div id="verifica">'.$textos->titulo . "<br/>" . $textos->texto ."</div>"; }; while($pontos = mysqli_fetch_object($procura_pontos)) { echo '<div id="verifica"><div id="titulo-pontos">'.$pontos->titulo.'</div>'; echo '<div id="play-pontos"> <audio controls="controls"><p>Seu nevegador não suporta o elemento audio.</p> <source src="'.$pontos->play.'" type="audio/mp3" /> </audio> </div>'; echo '<div id="download-pontos"> <a href="'.$pontos-> download.'" target="_blank">DOWNLOAD</a> </div>'; echo '<div id="ponto-pontos"> <pre>'.$pontos->texto.'</pre> </div></div>'; }; ?> PS: o arquivo de configuração com o banco de dados é chamado no topo da página, por isso não aparece no código.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!