Ir ao conteúdo
  • Cadastre-se

makotsunami

Membro Pleno
  • Posts

    82
  • Cadastrado em

  • Última visita

Tudo que makotsunami postou

  1. Não necessariamente você precisa utilizar o PHP, eu recomendo utilizar o stack que você se sente mais confortável. E você não precisa utilizar WS para fazer a transferência, pode ser PHP mesmo ou até JavaScript. LAMP stack → (Linux, Apache, MySQL, PHP) MEAN stack → (MongoDB, ExpressJS, AngularJS, NodeJS) 
  2. //Nodelist com seus divs com a classe cllapsible const collapsibles = document.querySelectorAll('.collapsible'); //Adicionar evento de click em todas as collapsibles collapsibles.forEach(collapsible => { collapsible.addEventListener('click', ()=> { //Codigo para remove a classe active de todos os itens do nodeList collapsibles.forEach(el => { el.classList.remove('active'); }); //Adicionar a classe active collapsible.classList.add('active'); }); }); Da forma que eu fiz você primeiro desativaria todos os itens do seu nodeList, depois, ativaria o item clicado. Quando for fazer laço for em um array ou nodeList use o foreach que fica melhor. Ainda falta mudar o display, igual você fez no seu código. Isso que você precisava?
  3. @DesenvolvedorWeb Como é essa função mt_h1? De qualquer forma, na função, você pode verificar a página que o usuário está. public function mt_h1() { if (basename($_SERVER['PHP_SELF']) == single.php){ //SEU CODIGO AQUI } } Você também pode remover esse monte de echo que tem no seu código. //Ao invés de fazer isso <?php echo get_option('home'); ?> //Faça isso <?=get_option('home')?>
  4. @BOREAL008 Meu amigo, e algum ligar está hehe Não ta no seu CSS? Já testou em outro navegador para ver se está com cache?
  5. @showme No seu exemplo está faltando uma aspa. De qualquer forma, acho que não seja esse o problema. Troquei o tênis por uma tag anchor e funcionou aqui... Da uma olhada e veja se você usou as aspas de maneira certa. var tbody = document.getElementById("tbody"); var dados = [ ["<a target='_blank' href='http://www.google.com'>Tênis</a>"], ["Mochila"], ["Blusa"], ["Bolsa"] ]; Dica: troque o GetelementById por QuerySelector, com isso você n precisa encher seu código de ID.
  6. Não pode ser input do tipo hidden? Ou utilizar um CSS input[type=email] { display: none; } Lembrando que essas opções não te garantem segurança.
  7. @Laaw Mano, você tem que por enctype= multipart/form-data no seu form quando tem arquivos. https://www.w3schools.com/tags/att_form_enctype.asp
  8. Entendi. Meio complicado isso, até porque nota fiscal não tem um formato padrão. Isso seria bem fácil se a nota fosse em formato XML. Já sabe qual formato vai ser?
  9. @Lucas da Silva Veloso Sua dúvida está bem vaga, poderia descrever melhor seu problema. Essa nota fiscal fica armazenada onde?
  10. O que a galera faz normalmente é utilizar um framework JavaScript, normalmente o Ionic ou o React Native, para se comunicar com uma API, que pode ser desenvolvida em qualquer linguagem, normalmente é PHP ou Ruby on Rails. Dai o app se comunica com a API através de requisições HTTP, dai a API se comunica com o banco de dados, que seria o mesmo banco das aplicações Desktop, logo, ficariam sincronizados. Para não depender de internet eu sei que dá pra fazer um PWA, só que daí não é aplicativo nativo, roda no navegador. https://medium.freecodecamp.org/progressive-web-apps-101-the-what-why-and-how-4aa5e9065ac2
  11. SECO hehe xD Você vai precisar ter tanto o produto quanto a matéria prima cadastrados, e só depois disso relacionar eles com a tabela produto_materiaprima.
  12. Cara, não consegui entender muito bem. você tem esse projeto em algum repositório online pra eu dar uma olhada no projeto? @unknn
  13. @Nícolas Duarte Você está falando de qual, do Bulma? O Bulma é só importar o CSS para o projeto. Só que no Bulma você precisa saber JavaScript, pois ele tem vários recursos que utilizam JS, mas não vem nenhum JS com ele. Recomento o Bootstrap, só importa o CSS e o JS do bootstrap, o JS do JQuery e o JS do Popper.
  14. Java script. Muito simples, basta você prevenir o comportamento default do seu formulário. <script> document.addEventListener('DOMContentLoaded', ()=> { const form = document.querySelector('form'); form.addEventListener('submit', (e)=> { e.preventDefault(); }); }); </script>
  15. Amigo, bootstrap tem mais suporte. Pra aprender eu usaria o bootstrap. Bootstrap e Materialize são frameworks bem pesadinhas, principalmente o bootstrap que depende de JQuery e Popper. Estou trabalhando em um projeto e estou utilizando esse aqui https://bulma.io/. Dá uma olhada quando sobrer um tempo (: p.s. Materialize é mais customizável que Bootstrap
  16. Você quer mesmo usar essas tags? Elas servem para SEO, se for pra um projeto que não vai subir pra produção nem precisa. Enfim, no seu arquivo header você vai ter suas meta tags, correto? <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Teste</title> <meta name="description" content="<?= isset($description) ? $description : 'Description default' ?>"/> <meta name="keywords" content="<?= isset($keywords) ? $keywords : 'Palavras chave default' ?>"/> </head> <body> Você vai ter que setar o conteúdo das tags pra cada página, você pode automatizar isso puxando do banco. Da maneira que eu fiz, você deve setar as variáveis das meta tags ($description e $keywords) antes de importar o header, caso você não sete o valor, ele vai imprimir um texto padrão, conforme eu coloquei lá. EDIT: Você pode fazer isso no seu arquivo funcoes.php
  17. @Vitor2k Por que ele está sendo interpretado como texto. No head da página devem ficar as meta tags, ou seja, tags que carregam informações da própria página no site. Como os sinais `< >` estão fora de tags, o sistema interpreta como texto. O mesmo aconteceria se você colocasse isso depois do fechamento ta tag HTML ou antes mesmo de colocar <!DOCTYPE "html">.
  18. Você pode aumentar o padding,mas aumentar o line-height é melhor, visualmente falando.
  19. E → Aquela atribuição não é válida! Ali o cara ta tentando guardar uma frase, mais conhecida como String, em uma variável. Na maioria das linguagens aquilo seria válido, mas em C é necessário criar um vetor para salvar uma frase. Y também teria que ser uma variável do tipo char, que representa um caractere. O certo seria: char y[3] = "blu"; Fica tranquilo se você não aprendeu isso ainda, pois você vai...
  20. Tem algum erro sendo impresso no console?
  21. Eu fari assim: depois de declarar a matriz e popular ela com os valores, eu armazenaria cada valor dela em uma variável e depois faria outro for. /** Supondo que tenho uma matriz m[x][y] */ int valorVerificado = 0; int repeticoes = 0; //Contador para valores repetidos. for (int i = 0; i < x; i++){ for (int j = 0; j < y; j++){ //Nesse ponto, valorVerificado vai assumir os valores da sua matriz, um de cada vez. //Depois, vai acontecer um loop novamente na matriz pra ver se tem algum valor igual ao valorVerificado valorVerificado = m[i][j]; for (int k = 0; k < x; k++){ for (int l = 0; l < y; l++){ if (valorVerificado == m[k][l]){ //Se achou incrementa repeticoes++; } } } } }
  22. Conforme conversamos, adicione esse CSS no seu site. /** Vai puxar os ícones um poucopra cima pra deixar na altura das palavras */ .nav-link i { transform: translateY(-3px); } /** Soluções para seu menu mobile */ /** Solução 1 */ @media only screen and (max-width:764px) { .nav-link { width: 100%; } .nav-link i { width: 20px; text-align: right; } } /** Solução 2 */ @media only screen and (max-width:764px) { .nav-link { width: 100%; } .nav-link i { width: 20px; float: right; } }
  23. Você precisa ter duas tabelas para as fotos (terá que ter uma de usuários se tiver sistema de login). CREATE TABLE album ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, thumbnail VARCHAR(255) NOT NULL, //Salva o caminho do arquivo thumbnail name VARCHAR(100) NOT NULL, //Nome do album (opcional) url VARCHAR(255) //Campo opcional, utilizado para criar uma URL amigável ); CREATE TABLE photo ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, album_id INT UNSIGNED NOT NULL, photo VARCHAR(255) NOT NULL, //Caminho da foto FOREIGN (album_id) REFERENCES album(id) ); Você não salva os arquivos no banco, você faz o upload dele via php e salva o caminho do arquivo. Na sua tela de albuns você teria uma variável chamada $albuns, daí você faria: foreach ($albuns as $album) <div class="albun"> <img src="<?= $album['thumbnail'] ?>"> <span class="album-name"><?= $album['name'] ?></span> <a href="<?= $album['url'] ?>">Veja o album!</a> </div> endforeach Daí na tela de ver as fotos você faria uma coisa parecida com essa, só que com uma variável de photos //Paginação Essa parte é mais complicada.. Você teria que passar um parâmetro GET e ter definido no seu projeto quantos itens por página você quer. Por exemplo, você passa um parâmetro GET na UL chamado page. //Verifica se o parâmetro page foi passado na URL, se sim, ele coloca o valor na variavel $page, se não, $page = 0 isset($_GET['page']) ? $page = $_GET['page'] : $page = 0; Tem um comando SQL que você pula alguns registros e depois pega os N próximos registros. //someLimit é a quantidade de itens que ele vai pular, someOffset é a quantidade de itens que ele vai puxar do banco SELECT * FROM tabela LIMIT {someLimit} OFFSET {someOffset} //Ou seja, se você ta na página 2 e você tem 10 itens por página, você deve pular os 10 primeiros e pegar do 11 ao 20 SELECT * FROM tabela LIMIT 10 OFFSET 10 Para isso que serve a variável $page. Qualquer dúvida tamo ai....
  24. Como o amigo disse. A maneira mais simples é fazer uma implementação com um banco de dados. Você pode salvar os dados do formulário direto em um arquivo .csv e abrir esse arquivo com o excel, mas é melhor você salvar no banco e pegar uma biblioteca pronta em PHP para converter a tabela do banco em um excel. Salvar direto não é seguro, tendo um banco de dados você não tem perigo de ter um arquivo corrompido, excluído, etc....
  25. Você precisa entender o problema e resolver, se alguém fizer pra você vai ser pior, vai na fé. Se tiver com algum erro pra executar o programa ou uma dúvida específica posta aqui que a galera te ajuda.

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!