Ir para conteúdo
Fórum Script Brasil

wash

Membros
  • Total de itens

    398
  • Registro em

  • Última visita

Tudo que wash postou

  1. Pode-se começar escrevendo a tabela. Veja se essa aqui pode ajudar a se orientar: https://w-studies.github.io/frequency-table/ E como se calcula a %Freq. ?
  2. Olá! Claro! para ir diretamente a um outro arquivo, remova as # deixando apenas o endereço do arquivo no href: <a href='apuracao.php'>Apuração</a> lembrando que apuracao.php deve estar no mesmo nível de pastas que o arquivo atual. do contrário, é só colocar o endereço relativo: <a href='pasta-qualquer/apuracao.php'>Apuração</a>
  3. beleza @Frank K Hosaka? Tomei a liberdade de escrever uma versão de menu usando apenas html e css pro sr. visualizar. Só lembrando que eu adoro javascript. Mas como o sr. diz sempre que está começando, acredito que somente html e css é uma linguagem a menos pra entender. O exemplo pode ser testado aqui: https://w-studies.github.io/html-css-only-hamburger-menu/ E pode ser baixado aqui: https://github.com/w-studies/html-css-only-hamburger-menu Basta clicar ali em Code -> Download ZIP
  4. com css pode-se remover qualquer margem: form { margin:0; } // para remover de todos os elementos, use o coringa asterisco * { margin:0; }
  5. Olá! Testei seu script e percebi que o form, possui por padrão uma margem de 16px
  6. Olá! Testei aqui, mas não percebi o desalinhamento: Há muitas tags abertas sem fechado e no lugar inadequado 1) As <th> devem ser usadas dentro de <thead> Da forma como foi escrito, as <th> vão ficar dentro de <tbody> 2) As <th> precisam da declaração de suas tags de fechamento: </th> <td> também precisam da declaração de suas respectivas tags de fechamento: </td>
  7. Olá! Escrevi um exemplo bem simples de como visualizar detalhes em uma modal, com formatação html. Veja se o sr. consegue entender: https://github.com/w-studies/date-from-database-to-js Segue screenshot para referência:
  8. Humm... Acho que entendi. Trabalhar com datas realmente não é simples. Mas é possível! Ao invés de usar apenas data: aaaa-mm-dd Use um datetime pro js entender direito: aaaa-mm-dd hh:ii:ss Coloquei um exemplo aqui: https://github.com/w-studies/date-from-database-to-js Assim que puder, gentileza testar e conferir se entendi. Abra o arquivo api/connection.php e configure sua conexão Execute o arquivo database.sql segue screenshot para referência
  9. Olá! Segue sugestão em js <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> body { font-family: sans-serif; } div { padding: 12px; } </style> </head> <body> <div> <small>sem abreviação:</small> <br> <span class='long'></span> </div> <div> <small>com abreviação:</small> <br> <span class='short'></span> </div> <script> document.querySelector('.long').innerText = new Date().toLocaleDateString('pt-br', { month: 'long', day: 'numeric', weekday: 'long', year: 'numeric', }) document.querySelector('.short').innerText = new Date().toLocaleDateString('pt-br', { month: 'short', day: 'numeric', weekday: 'short', year: 'numeric', }) </script> </body> </html> Referência: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString Exemplo em execução: https://w-studies.github.io/js-date-br/
  10. Olá! Mas a pasta public_html já deveria existir. Sugiro que crie um ambiente para testes. Talvez num subdomínio. Onde o sr. possa ativar a exibição de erros do php. (Em produção não exiba os erros na tela) Então, a partir dos erros que vão aparecer o sr. pode ir perseguindo-os e solucionando-os um a um, até que o sistema todo esteja funcionando. Se criar um ambiente para testes localmente, vai ser bem mais rápido!
  11. Olá! Acredito que não há nada de ajax aí. o AJ do ajax = Asynchronous Javascript E no trecho acima não há nadinha de assíncrono. Não entendi muito bem o que o sr. quis fazer. Uma vez que todos esses elementos poderiam ter sido criados diretamente no html. Mas se precisar criar/mover elementos via javascript, segue um exemplo/sugestão: <!doctype html> <html lang='en'> <head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0'> <meta http-equiv='X-UA-Compatible' content='ie=edge'> <title>Javascript</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous"> </head> <body> <div class='container'> <div class='row justify-content-center'> <div class='col-md-6'> <h1 class='fw-light'>Javascript</h1> <div id='app'></div> </div> </div> </div> <script> // define qual é o elemento que vai conter a aplicação const myApp = document.getElementById('app') // cria um um novo input const myInput = document.createElement('input') // adiciona class myInput.classList.add('form-control') // cria uma div, que vai conter os list items const lisContainer = document.createElement('div') // cria um elemento de lista não ordenada const myUl = document.createElement('ul') // adiciona class myUl.classList.add('list-group') // cria um elemento li const myLi = document.createElement('li') for (let i = 1; i < 11; i++){ // faz uma cópia de myLi const newLi = myLi.cloneNode(true); // adiciona class newLi.classList.add('list-group-item') // alimenta a cópia com texto e número newLi.innerHTML = `<a href='#'>List Item #${i}</a>` // adiciona um listener à newLi para que, quando clicado, mova o myInput para dentro newLi.querySelector('a').addEventListener('click', (e)=>{ e.target.innerText = `Fui Clicado #${i}` newLi.append(myInput) newLi.classList.add('bg-light') }) // coloca a newLi dentro de myUl myUl.append(newLi) } // coloca myUl dentro de lisContainer lisContainer.append(myUl) // colona lisContainer dentro de myApp myApp.append(lisContainer) </script> </body> </html> Preencha o input, e depois clique em outra li qualquer. Perceba que o input foi movido pra outra li, não copiado. Ah! E Java é uma linguagem server side E Javascript é client side Ou seja Java é completamente diferente de Javascript
  12. Segue sugestão pro sr. observar: https://we.tl/t-BE2O6RCEQK
  13. Usando apenas php pra permanecer no arquivo index.php e mesmo assim carregar outras views, estude um pouco sobre MVC A lógica é a seguinte: php é interpretado/executado no servidor html, css, js são interpretados no cliente(browser) por isso a importância de separar a lógica(php) da apresentação(html, css, js) O php recebe uma requisição(ou nenhuma) e devolve uma resposta qualquer(ou nenhuma) Então, o php acontece primeiro. Quando você entra numa página qualquer(feita em php), o php foi executado lá no server e somente depois de entregar o que deveria, o browser carregou/intepretou o css, depois o html e por fim, carregou e executou o js Então, pense que, pro seu sistema funcionar adequadamente, primeiro o php é executado(no servidor) somente depois o front(css, html e js entregues ao browser). A separação dessas camadas de responsabilidade são assim: Controllers: camada da lógica (o que acontece primeiro), php Views: conteúdo a ser entregue para o browser(css, html, js) Models: a camada responsável por se comunicar com o database
  14. É por isso que existe o input próprio de senha: https://developer.mozilla.org/pt-BR/docs/Web/HTML/Element/Input/password
  15. Não exponha dados sensíveis na url, use o método post https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Methods https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Methods/POST
  16. Olá! Alinhe com CSS Mas perceba que para a última coluna o sr. usou riqht ao invés de right Segue sugestão, com possibilidade de reusar para qualquer tabela, para as colunas: 1, 3 e/ou 5 <style> table.border{ border-collapse: collapse; } table.border td, table.border th{ border:thin solid #333; padding:12px; } table.col-1-right td, table.col-3-right td, table.col-5-right td { text-align: right; } </style> <?php $qt = 10; echo "<table class='border col-1-right col-3-right col-5-right'>" . "<tr><th>Quantidade</th><th>X</th><th>Quantidade</th><th>=</th><th>Total</th></tr>" . '<tbody>' . "<tr><td>$qt</td><td></td><td>$qt</td><td></td><td>" . $qt * $qt . "</td></tr>" . "<tr><td>$qt</td><td></td><td>$qt</td><td></td><td>" . strval($qt * $qt) . '</td></tr>' . '</tbody>' . '</table>';
  17. Olá! porque não usa o ip de cada um? Com $_SERVER['REMOTE_ADDR'] php.net/remote_addr
  18. Olá! Não sei se entendi direito. Mas pensando no cenário que poderá haver mais de 1 user e mais de 1 orçamento, acredito que seria interessante criar mais tabelas sim. ex: users logs (pra salvar os logs de acesso dos users) budgets (orçamentos) products budgets_products (tabela intermediária que vai associar products a um budget) Não acredito que algum banco de dados tenha a inteligência de "se virar sozinho" Então vai ser preciso que o sr. programe o acesso de cada user. E que cada um tenha acesso somente ao seus próprios budgets. Com a possibilidade de um admin do sistema ter acesso a todos.
  19. Parabéns pelo aprendizado e capacidade de assimilação do conhecimento. Para uma possibilidade maior de detectar falhas na conexão/execução de queries: escreva seu arquivo de conexão assim: <?php // definição de variáveis para conexão $host = 'localhost'; // servidor $user = 'root'; // nome do utilizador $pass = 'your-secret-pw'; // senha ou password $database = 'base'; // nome da base de dados // estabelecer conexão: $sqli = new mysqli($host, $user, $pass); // verificando se conectou de boas: if ($sqli->connect_error) { // se houver alguma falha, exibe mensagem específica da falha: die('<p class="error">Falha na conexão: ' . $sqli->connect_error . '</p>'); } // definir o padrão de caracteres if (!$sqli->set_charset('utf8')) { // se não conseguir definir o padrão de caracteres, exibe o padrão disponível die("<p class='error'>Seu charset não é utf8, chefe!<br>$sqli->character_set_name()</p>"); } // selecionar/abrir o banco de dados para trabalhar if (!$sqli->select_db($database)) { // se o banco de dados não for encontrado die("<p class='error'>Banco de dados não encontrado, chefe!</p>"); } E nos arquivos onde precisar da conexão, execute queries de busca assim: <?php require 'connection.php'; // define a query de busca $query = 'SELECT * FROM gruposusuarios'; // executa a query e guarda o resultado em $result $result = $sqli->query($query); // se houver alguma falha if ($sqli->error) { // exibe mensagem específica da falha na busca: die('<p class="error">Falha na consulta: ' . $sqli->error . '</p>'); } else if ($result->num_rows) { // se não houve erro e há algum resultado, fetch data $data = $result->fetch_all(MYSQLI_ASSOC); echo '<pre>Total de resultados : '; print_r($result->num_rows); echo '</pre>'; echo '<pre>Resultados: '; var_dump($data); echo '</pre>'; die(__FILE__ . ' at line: ' . __LINE__); } else { // se nenhum resultado foi encontrado echo '<p>Nenhum resultado encontrado, chefe!</p>'; } Só lembrando que é apenas minha sugestão. Também pode ser feito de outras maneiras.
  20. wash

    Conexão PHP para MySQL

    Rapaz... Qual foi a mensagem de erro que apareceu? A mensagem acusa em qual arquivo/linha está o erro? Tem erro demais aí, viu? Sugiro ler as mensagens de erro que vão aparecendo e ir corrigindo uma a uma. Pra começar, php é sensitive case (ele diferencia letras maísuculas e minúsculas). Assim sendo A é diferente de a a) não existe session_star() é session_start(), tem uma letra t no final de start b) você tenta receber $_POST['nome'] Mas o form envia Nome, com N maiúsculo c) você tenta receber $_POST['email'] Mas o form envia Email, com E maiúsculo d) você tenta receber $_POST['ddd'] Mas o form envia DDD, tudo maiúsculo e) você tenta receber $_POST['dddCel'] Mas o form envia dddc, tudo minúsculo f) não existe $_POST['MelhorHorario'] g) não existe $_POST['Data'] h) não existe $_POST['Origem'] i) você tenta receber $_POST['Tel'] Mas essa variável não existe j) você recebe $_POST['celular'] Mas não é usado k) você recebe $_POST['Fone'] Mas não é usado ... Crie um padrão para os nomes de variáveis e use em todas, pra evitar de se perder em qual começa com maiúscula, qual é toda minúscula, etc... Vá observando as mensagens de erro e corrigindo cada situação até que seu script esteja funcional.
  21. O switch case avalia apenas um único valor. No caso específico que você enviou, será analisado o resultado da conta, que é um bool É bem mais complicado ficar fazendo operações aritméticas dentro de um switch. É muita gambiarra. Há formas melhores do que switch. Já ouvi muita gente dizendo que trabalhou em sistemas enormes a vida inteira e nunca usaram switch. Sugestão de solução: <?php $digitado = 0; $result = ''; switch($digitado) { case ($digitado > 0 ? $digitado : -1): $result = 'Valor Positivo'; break; case ($digitado < 0 ? $digitado : 1); $result = 'Valor Negativo'; break; default: $result = 'Igual a Zero'; } echo $result;
  22. Olá! Não retorna mensagem de erro alguma? acrescente or die, depois de fechar parenthesis: ...ario) or die(mysqli_error($conn)); execute novamente e veja se aparece alguma mensagem de erro
×
×
  • Criar Novo...