Ir para conteúdo
Fórum Script Brasil

Frank K Hosaka

Membros
  • Total de itens

    1.622
  • Registro em

  • Última visita

Tudo que Frank K Hosaka postou

  1. O problema está aqui: <select id="selebairro" name="bairro" value="bairro" onchange=inpvalor.value=selebairro.options[selectedIndex].value> <option>Selecione o bairro</option> <?php while($rows_bairros = mysqli_fetch_assoc($resultado_bairros)){ $bairro=$rows_bairros['bairro']; $frete=$rows_bairros['valor']; echo "<option value=$frete>$bairro</option>";} echo "</select>"; echo "<br><br><input id=inpvalor name=inpvalor value='frete'>"; O select com o nome de bairro está passando o valor do frete da opção selecionada e não o bairro. Vou ver como consertar isso.
  2. Em lancar_entregas.php, a seguinte linha precisa ser corrigido: echo "<br><br><input id=inpvalor value='frete'>"; para echo "<br><br><input id=inpvalor name=valor value='frete'>"; Já proc_lancar_entregas.php, eu fiz um monte de modificações que você precisa adaptar no seu código, ou pelo menos, tente só corrigir a linha de cima, e teste. A minha maior preocupação é que esse é um aplicativo de rede, e você precisa de uma assessoria melhor com alguém mais experiente. Basicamente, estou estudando a rede com o seu projeto, e eu gostei de fazer o código que puxa os valores de quem está logado, mas editar o banco de dados, isso é outra história bem diferente, e que eu não tenho como resolver. Durante os vinte útimos anos, eu criei um banco de dados para cada usuário, isso foi um inferno, eu detestei, mas também não sei como resolver esse problema. <?php session_start(); $mysqli=new mysqli("localhost","root","","astudy"); $bairro = $_POST['bairro']; $valor = $_POST['valor']; $entregador = $_POST['entregador']; $result_entregas = "INSERT INTO tbentrega (bairro, valor, entregador) VALUES ('$bairro', '$valor', '$entregador')"; $resultado_entregas = mysqli_query($mysqli, $result_entregas); if(mysqli_insert_id($mysqli)){ $_SESSION['msg'] = "<center><p style='color:green;'>Entrega lançada com Sucesso</p></center>"; header("Location: lancar_entregas.php"); }else{ $_SESSION['msg'] = "<p style='color:red;'>A entrega não foi lançada com sucesso</p>"; header("Location: lancar_entregas.php");}
  3. Bom, eu fiz mais uma tentativa, dividi o grande problema em menores, e assim ficou: <?php $array = // copiar do fórum $json=json_decode($array,true); $jsonAll0=$json[0][0]['all']; $jsonAll1=$json[1][0]['all']; $jsonCompl0=$json[0][1]['completed']; $jsonCompl1=$json[1][1]['completed']; echo "Todos os ids do grupo all número 0<br>"; foreach($jsonAll0 as $key=>$value) { foreach($value as $key2=>$value2){ if($key2=="id"){echo "$key2:$value2<br>";}}} echo "Todos os ids do grupo all número 1<br>"; foreach($jsonAll1 as $key=>$value) { foreach($value as $key2=>$value2){ if($key2=="id"){echo "$key2:$value2<br>";}}} echo "Todos os ids do grupo completed número 0<br>"; foreach($jsonCompl0 as $key=>$value) { foreach($value as $key2=>$value2){ foreach($value2 as $key3=>$value3){ if($key3=="id"){echo "$key3:$value3<br>";}}}} echo "Todos os ids do grupo completed número 1<br>"; foreach($jsonCompl1 as $key=>$value) { foreach($value as $key2=>$value2){ foreach($value2 as $key3=>$value3){ if($key3=="id"){echo "$key3:$value3<br>";}}}} -------------------------------------------------------------------------------- Resultado: Todos os ids do grupo all número 0 id:2 id:3 id:4 id:5 Todos os ids do grupo all número 1 id:7 id:8 id:9 Todos os ids do grupo completed número 0 id:15 id:16 Todos os ids do grupo completed número 1 id:3 id:4 id:13
  4. Agora, fazendo a prova dos nove, eu percebi que o meu algoritmo está errado. Ele não pega nenhum id do grupo completed. Que coisa!
  5. Para ter apenas os valores do id, eu faria assim: <?php $array= // copiar do forum $json=json_decode($array); foreach($json as $key=>$value){ foreach($value as $key1=>$value1){ foreach($value1 as $key2=>$value2){ foreach($value2 as $key3=>$value3){ foreach($value3 as $key4=>$value4){ if ($key4=="id"){ echo "---->campo4 $key4 : $value4 <br>"; }}}}}} -------------------------------------------- resultado: ---->campo4 id : 2 ---->campo4 id : 3 ---->campo4 id : 4 ---->campo4 id : 5 ---->campo4 id : 7 ---->campo4 id : 8 ---->campo4 id : 9
  6. Eu consegui chegar na chave id com a ajuda de vários foreach: <?php $array= // copiar do fórum $json=json_decode($array); foreach($json as $key=>$value){ echo "campo principal $key<br>"; foreach($value as $key1=>$value1){ echo "->campo1 $key1 <br>"; foreach($value1 as $key2=>$value2){ echo "-->campo2 $key2 <br>"; foreach($value2 as $key3=>$value3){ echo "--->campo3 $key3 <br>"; foreach($value3 as $key4=>$value4){ echo "---->campo4 $key4 <br>"; }}}}} ---------------------------------------------------------------------------- resultado: campo principal 0 ->campo1 0 -->campo2 all --->campo3 2 ---->campo4 id ---->campo4 course ---->campo4 completion ---->campo4 deletioninprogress --->campo3 3 ---->campo4 id ---->campo4 course ---->campo4 completion ---->campo4 deletioninprogress --->campo3 4 ---->campo4 id ---->campo4 course ---->campo4 completion ---->campo4 deletioninprogress --->campo3 5 ---->campo4 id ---->campo4 course ---->campo4 completion ---->campo4 deletioninprogress ->campo1 1 -->campo2 completed --->campo3 0 ---->campo4 15 --->campo3 1 ---->campo4 16 campo principal 1 ->campo1 0 -->campo2 all --->campo3 7 ---->campo4 id ---->campo4 course ---->campo4 completion ---->campo4 deletioninprogress --->campo3 8 ---->campo4 id ---->campo4 course ---->campo4 completion ---->campo4 deletioninprogress --->campo3 9 ---->campo4 id ---->campo4 course ---->campo4 completion ---->campo4 deletioninprogress ->campo1 1 -->campo2 completed --->campo3 0 ---->campo4 3 --->campo3 1 ---->campo4 4 --->campo3 2 ---->campo4 13
  7. Eu não sou profissional, só sei fazer gambiarra: <h2>Selecione o Bairro</h2> <select id="selebairro" name="bairro" value="bairro" onchange=inpvalor.value=selebairro.options[selectedIndex].value> <option>Selecione o bairro</option> <?php while($rows_bairros = mysqli_fetch_assoc($resultado_bairros)){ $bairro=$rows_bairros['bairro']; $frete=$rows_bairros['valor']; echo "<option value=$frete>$bairro</option>";} echo "</select>"; echo "<br><br><input id=inpvalor value='frete'>"; ?> <br><br>
  8. Depois de várias tentativas, eu acabei desistindo. O json não é nada fácil. Para não abandonar você, a minha sugestão é fazer uma boa gambiarra, não trabalhar com o json, e alterar o texto assim: <style>form{margin: 0}</style> <?php session_start(); function str_replace_first($from, $to, $subject){ $from = '/'.preg_quote($from, '/').'/'; return preg_replace($from, $to, $subject, 1); } if (!isset($_POST['novo'])){ $_SESSION['json']='{"CREDITOR": {"TAX": {"TAC": 0.7},"ENABLE": "true","PRODUCTION": {"email": "email@dominio.com","senha": "12457895", "BASE_URL": "https://domino.com"}, "HOMOLOGATION": {"email": "email@dominio.com","senha": "12457895","BASE_URL": "https://domino.com"}, "TARGET_VALUES": 5000000}}';} if (isset($_POST['novo'])){ $antigo=$_POST['antigo']; $novo=$_POST['novo']; $texto=$_SESSION['json']; $novotexto=str_replace_first($antigo,$novo,$texto); $_SESSION['json']=$novotexto;} echo $_SESSION['json']; echo "<table><tr height=100px><td>"; echo "<form method=post>O que você quer mudar?<td><input name=antigo>"; echo "<tr><td>Para?<td><input name=novo onchange=submit()></form></td>"; Caso você queira substituir os dois emails ao mesmo tempo, mude a função str_replace_first por str_replace.
  9. Ok, entendi. Eu ainda não sei o que é front-back end e nem tampouco json. Eu só tenho um notebook e um celular, mas como tenho tempo de sobra, posso começar o meu projeto de modificar um json. Vou começar com {"nome":"frank"}, depois com {"nome":"frank","nome:"joão"}, depois com {"canalhas":{"nome":"frank,"nome":"joão"}}. Como não conheço nada de json, vou ter que estudar se é possível 1) o PHP identificar um json de verdade de um fajuto 2) o PHP quantificar quantos json tem um json 3) o PHP tabular a chave e o valor 4) se o valor for outro json, ele tabular novamente 5) do lado de cada valor vou colocar um input (para evitar o efeito post, vou dar um jeito do input focar outro input, quando o usuário apertar {ENTER}) 6) finalmente sincronizar todos os inputs com os respectivos valores. Boa sorte para nos dois.
  10. Boa noite, json não é a minha praia, mesmo assim eu só achei uma chave no exemplo, fiz uma enorme modificação no exemplo, e consegui um monte de chaves. Veja só: <?php $exemplo='{"CREDITOR": {"TAX": {"TAC": 0.7},"ENABLE": "true","PRODUCTION": {"email": "email@dominio.com","senha": "12457895", "BASE_URL": "https://domino.com"}, "HOMOLOGATION": {"email": "email@dominio.com","senha": "12457895","BASE_URL": "https://domino.com"}, "TARGET_VALUES": 5000000}}'; $json=json_decode($exemplo); foreach($json as $key=>$value){var_dump($key);} // resultado: C:\wamp64\www\frank\astudy.php:6:string 'CREDITOR' (length=8) $exemplo2='{"CREDITOR": {"TAX": {"TAC": 0.7}},"ENABLE": "true","PRODUCTION": {"email": "email@dominio.com","senha": "12457895", "BASE_URL": "https://domino.com"}, "HOMOLOGATION": {"email": "email@dominio.com","senha": "12457895","BASE_URL": "https://domino.com"}, "TARGET_VALUES": 5000000}'; $json=json_decode($exemplo2); foreach($json as $key=>$value){var_dump($key);} // resultado: //C:\wamp64\www\frank\astudy.php:13:string 'CREDITOR' (length=8) //C:\wamp64\www\frank\astudy.php:13:string 'ENABLE' (length=6) //C:\wamp64\www\frank\astudy.php:13:string 'PRODUCTION' (length=10) //C:\wamp64\www\frank\astudy.php:13:string 'HOMOLOGATION' (length=12) //C:\wamp64\www\frank\astudy.php:13:string 'TARGET_VALUES' (length=13) Por outro lado, se o primeiro exemplo estiver certo, tendo somente uma chave, eu fiz essa gambiarra para conseguir as subchaves: <?php $exemplo='{"CREDITOR": {"TAX": {"TAC": 0.7},"ENABLE": "true","PRODUCTION": {"email": "email@dominio.com","senha": "12457895", "BASE_URL": "https://domino.com"}, "HOMOLOGATION": {"email": "email@dominio.com","senha": "12457895","BASE_URL": "https://domino.com"}, "TARGET_VALUES": 5000000}}'; $json=json_decode($exemplo); foreach($json as $key=>$value){var_dump($key); foreach($value as $subkey=>$subvalue){var_dump($subkey);}} //resultado: //C:\wamp64\www\frank\astudy.php:6:string 'CREDITOR' (length=8) //C:\wamp64\www\frank\astudy.php:7:string 'TAX' (length=3) //C:\wamp64\www\frank\astudy.php:7:string 'ENABLE' (length=6) //C:\wamp64\www\frank\astudy.php:7:string 'PRODUCTION' (length=10) //C:\wamp64\www\frank\astudy.php:7:string 'HOMOLOGATION' (length=12) //C:\wamp64\www\frank\astudy.php:7:string 'TARGET_VALUES' (length=13) Essa é uma gambiarra bem particular, ele só funciona para o json que tiver apenas uma chave e o valor correspondente é um json embutido com outras chaves. A minha sugestão é você adaptar o seu código somente às subchaves.
  11. Truque bacana. O link diz que é um endereço, mas ele acaba vindo direto para cá. Como isso é possível?
  12. Hoje eu encontrei um tópico interessante no Fórum Script Brasil, ele está nesse link: Eu tentei trabalhar no código dele, levei o dia todo, mas eu consegui! O código é bem simples: login.php <?php session_start(); echo "<form method=post>Nome<input name=login></form>"; if (isset($_POST['login'])){ $_SESSION['logado']=$_POST['login']; header("location:logado.php"); ---------------------- logado.php <?php session_start(); $logado=$_SESSION['logado']; echo "olá $logado!"; Eu testei o programa no notebook com o nome de Frank, e ele me devolveu o nome Frank. Eu testei o programa no celular com o nome de Rodrigo, e ele me devolveu o nome Rodrigo. Eu fiquei perplexo. Só para tirar a dúvida, eu atualizei o navegador tanto do notebook bem como do celular, e nada mudou. O PHP é bacana, não sei como ele consegue separar dois usuários diferentes, se o programa é apenas um.
  13. Fiz algumas alterações no seu código para testar aqui no meu laboratório, eu só tenho um notebook e um celular, e deu certo, graças a Deus! No notebook eu entrei com o entregador "Frank" e no celular eu entrei com o entregador "Rodrigo". Olha, cara, gostei mesmo do seu código, e gostei mais ainda do $_SESSION, mas eu não tenho a menor ideia como isso funciona. login.php <?php session_start(); $mysqli=new mysqli("localhost","root","","diario"); if (isset($_POST['email']) && isset($_POST['senha'])) { $email = $mysqli->real_escape_string($_POST['email']); $senha = $mysqli->real_escape_string($_POST['senha']); $query = $mysqli->query("select * from tbusuario where email='$email' and senha='$senha'") or die("Falha na execução do código SQL: " . $mysqli->error); // tbusuario contem os campos nome, email, senha e nivel $quantidade =$query->num_rows; if ($quantidade==0){echo "usuário ou senha inválida!";} if ($quantidade==1){ $row=$query->fetch_assoc(); $nome=$row['nome']; $nivel=$row['nivel']; $_SESSION['nome']=$nome; if ($nivel == 'administrador') {header('Location: administrativo.php');} if ($nivel == 'lojista') {header('Location:lojista.php');} if ($nivel == 'entregador') {header('Location:entregador.php');} } } ?> <!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Login</title> </head> <body> <div> <form method=post> <h1>Login</h1> <input type=email name=email placeholder=Email required> <br><br> <input type="password" name="senha" placeholder="Senha" required> <br><br><br> <button class="btn" type="submit">Entrar</button><br><br><br> </form> </div> </body> </html> ---------------------------------------------------------------------------------------------------------------------------- entregador.php <?php session_start(); if(!isset($_SESSION['nome'])) {header('Location: login.php');} $entregador=$_SESSION['nome']; $mysqli=new mysqli("localhost","root","","diario"); $entrega = $mysqli->query("SELECT * FROM tbentrega WHERE entregador='$entregador'"); // tbentrega tem os campos id, bairro, valor, entregador, data ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> <title>Listar Entregas</title> </head> <body> <nav> <div class="img"> <img src="assets/img/LOGO_LIKEFOOD_EXPRESS_branco.png"> </div> <div class="menu-btn"> <i class="fa fa-bars fa-2x" onclick="menuShow()"></i> </div> <h2>Entregas Lançadas</h2> <ul> <li> <a href="#"> </a> </li> <li> <a href="#"> </a> </li> <li> <a href="#"> </a> </li> <li> <a href="#"> </a> </li> <li> <a href="sair.php"> Sair</a> </li> </ul> </nav> <script src="assets/js/main.js"></script> <div class="master"> <table class="tabela"> <tr class="id"> <th>ID</th> <th>Bairro</th> <th>Valor</th> <th>Entregador</th> <th>Data</th> <th>Ação</th> </tr> <tr class="coluna"> <?php while ($rows_entregas = mysqli_fetch_assoc($entrega)) { ?> <td><?php echo $rows_entregas['id']; ?></td> <td><?php echo $rows_entregas['bairro']; ?></td> <td><?php echo $rows_entregas['valor']; ?></td> <td><?php echo $rows_entregas['entregador']; ?></td> <td><?php echo date("d/m/Y", strtotime($rows_entregas['data'])); ?></td> <td><a class="link-as-btn0" href=""> <c>Detalhes</c> </a></td> </tr> <?php } ?> </table> </div> </div> </body> </html>
  14. Bom dia, eu também tenho essa dor de cabeça. Eu fiz um login meio boca no meu código menu.php e o que eu vi por aí no Google é que a instrução session_start() tem que ser a primeira instrução tanto na página onde vai ser definido o $_SESSION bem como na página onde o $_SESSION vai ser usado. Se o safado do Gustavo Silva sabe que existe uma página chamada administrativo.php, o que impede dele entrar nessa página? Nesse caso, eu faria algo assim no admnistrativo.php: <?php start_session( ); if ($_SESSION['nivel']!="administrativo"){echo "sinto muito, você não está autorizado a ver essa página";exit;} Ou seja, você tem que repensar o seu código, fazendo o start_session( ); ser a primeira instrução, e não no meio do código.
  15. Encontrei erro na linha que menciona a inclusão de $pessoas, você esqueceu de fechar as aspas. Encontrei erro no formulário, para trabalhar com o GET, o formulário tem que usar o método PUT, que você pode omitir por ser o padrão. Outro erro é que o formulário é desnecessário, o elemento <a> já faz a solicitação. O switch é confuso e desnecessário. Você não incluiu o estilo do botão01, assim eu improvisei um estilo tipo tabela para fazer funcionar a sua ideia. <style> .table{display:table;width:auto;border:1px solid #66666} .table-row{display:table-row;width:auto;clear:both} .table-col{float:left;display:table-column;width:200px;border:1px solid #ccc} </style> <div class="table"> <div class="table-row"> <div class="table-col"> <table> <tr><td><a href="?usuarios">Usuários</a> <tr><td><a href="?pessoas">Pessoas</a> <tr><td><a href="?estatisticas">Estatísticas</a> <tr><td><a href="?aniversarios">Aniversários</a> <tr><td><a href="sair.php">Sair</a> </table> </div> <div class="table-col"> <?php if (isset($_GET['usuarios'])){include("usuarios.php");} if (isset($_GET['pessoas'])){include("pessoas.php");} if (isset($_GET['estatisticas'])){include("estatisticas.php");} if (isset($_GET['aniversarios'])){include("aniversarios.php");} ?> </div> </div> </div> Apesar dos erros, eu gostei bastante da sua ideia. Faz tempo que eu queria fazer isso, mas não sabia como.
  16. O seguinte código não funciona: <html> <head> <script> testediv.innerHTML="olá mundo!" </script> </head> <body> <div id=testediv></div> </body> Para fazer esse código funcionar, eu sempre coloquei o <script> debaixo do <div>. Graças ao Google, consegui achar a solução: astudy.html <html> <head> <script src=astudy.js async></script> </head> <body> <div id=testediv></div> </body> ----------------------------------------- astudy.js testediv.innerHTML="olá mundo!"
  17. Eu só tenho um notebook, assim eu só posso me conectar nele, assim: $mysqli=new mysqli("localhost","root","senha","bancodado"); Se eu tivesse dois servidores, acredito que poderia conectar aos dois servidores assim: $mysqli1=new mysqli("servidor1","usuario1","senha1","bancodado1"); $mysqli2=new mysqli("servidor2","usuario2","senha2","bancodado2"); O problema é se o "hostname" do "servidor1" e "servidor2" forem idênticos, mas eu não tenho como fazer o teste por aqui. O meu laboratório é bem pobre.
  18. A minha ideia é tirar a tecnologia do modal do cadastro de produtos e de pessoas e usar a tecnologia <details> do HTML. O problema é que não consegui fazer o marcador <details> funcionar dentro de um <table>, e assim o preço do produto ficou grudado no final da descrição. O código que usei é esse: <style> summary{list-style:none} </style> <?php function dec($num) {if (empty($num)) {$fmt="";} else {$fmt = number_format($num,2,',','.'); return $fmt;}} $mysqli=new mysqli("localhost","root","","diario"); $query=$mysqli->query("select * from tbprod limit 5"); while ($row=$query->fetch_assoc()){ $prod=$row['prod']; $custo=$row['custo'];$custodec=dec($custo); $margem=$row['marg'];$margemdec=dec($margem); $venda=dec($custo*(1+$margem/100)); echo "<details><summary>$prod <b>$venda</b></summary>"; echo "<table bgcolor=lightgray>"; echo "<tr><td>codprod<td><b>".$row['codprod']."</b>"; echo "<tr><td>un<td><b>".$row['un'],"</b>"; echo "<tr><td>custo<td><b>$custodec</b>"; echo "<tr><td>marg<td><b>$margemdec</b>"; echo "<tr><td>codbar<td><b>".$row['codbar'],"</b>"; echo "<tr><td>loc<td><b>".$row['loc']."</b>"; echo "<tr><td>emb<td><b>".$row['emb']."</b>"; echo "<tr><td>cf<td><b>".$row['cf']."</b>"; echo "<tr><td>codforn<td><b>".$row['codforn']."</b>"; echo "</table></details>";}
  19. Eu não tenho como ajudar você, pois eu não entendo nada de HTML. Por outro lado, sempre quis abrir um app automaticamente pelo HTML. Tem jeito de você compartilhar o seu código?
  20. Eu gostei da função preg_replace, mas eu acredito que ela já substitui a função trim, strislashes e htmlspecialchars. No seu código, tem dois $_POST, um com o índice 'cpf' e outro 'reset', mas não dá para saber quem manda essas informações. Não vejo a necessidade de usar o recurso do function no php, dá para fazer tudo na rotina principal. A seguir eu alterei o seu código, acrescentei um formulário que cria a solicitação POST, e ficou assim: <?php echo "<form method=post>cpf <input name=cpf></form>"; if(isset($_POST['cpf'])){ $cpf = $_POST['cpf']; $cpf = preg_replace( '/[^0-9]/is', '', $cpf); if (strlen($cpf)!=11){echo "cpf $cpf inválido!";exit;} $sum1=0; $sum2=0; for($index=0;$index<=8;$index++){$sum1+=$cpf[$index]*(10-$index);} for($index=0;$index<=9;$index++){$sum2+=$cpf[$index]*(11-$index);} $resto1=($sum1*10)%11; if ($resto1==10){$resto1=0;} $resto2=($sum2*10)%11; if ($resto2==10){$resto2=0;} if (($resto1==$cpf[9])and($resto2==$cpf[10])){ echo "cpf $cpf válido!";} else {echo "cpf $cpf inválido!";}}
  21. Encontrei matéria que afirma que é possível conectar o MySQL à planilha do Google: Como conectar o MySQL ao Planilhas Google (linkedin.com) mas olhando o código, eu acho que é bem mais fácil trabalhar com o PHP.
  22. Não encontrei no Microsoft Store uma versão desktop do Google Documents, tudo indica que se trata de um documento de nuvem, e não de desktop. Eu abri uma planilha do Google, e não achei nada que pudesse conectar a planilha ao MySQL do meu notebook. Por enquanto, eu uso o Excel para verificar se as informações que eu tenho estão de acordo com o que está no MySQL. Por exemplo, eu informo ao Excel que o meu cartão de crédito está em R$ 70,00. O Excel olha o MySQL e depois ele me informa se o valor bate ou não. Se eu não conseguir o dinheiro do aluguel, vou ter que passar o serviço para o PHP.
  23. Hoje eu tenho R$ 1.212,00 no banco, R$ 64,90 no cartão de crédito e uma estimativa no condomínio de R$ 401,36. Para fazer o cálculo de quanto posso gastar hoje, eu uso o programa Excel assim: =(Banco-Cartão-Previsão)/30, ou seja, R$ 24,86, isso é o que posso gastar hoje, de acordo com o programa Excel. O Excel é um programa fantástico, o único problema é que ele faz parte do pacote Microsoft Office 365, é um programado alugado, e eu paguei R$ 449,00 em setembro de 2021, e eu não tenho a menor ideia de onde vou arranjar o dinheiro para renovar o aluguel em setembro desse ano. Para a minha sorte, eu encontrei o professor Guanabara no YouTube, e ele me ensinou a instalar o WampServer no Windows, sem pagar nada. Dentro dele, encontrei o MySQL. O MySQL é um programa muito chato. No Excel, eu posso escrever 8,80 que é o preço de 2 passagens do Metrô SP. No MySQL, ele só aceita o 8, os centavos ele joga fora. Eu aprendi que o MySQL só aceita a notação americana, ele não aceita a notação brasileira. Para resolver isso, o professor Guanabara me ensinou a usar um outro programa do pacote WampServer, é o PHP. Eu posso usar a notação brasileira, e o PHP grava o valor no MysQL na notação americana. O mês de setembro está chegando e tudo indica que vou perder o direito de uso do Excel. No PHP, eu já aprendi a lançar os valores do banco. Já o cartão de crédito, esse é bem complicado. O meu professor de contabilidade disse que eu posso usar o "regime de competência", ou seja, debita a despesa e credita a obrigação. Já o PHP não importa se você usa o "regime de competência" ou o "regime de incompetência". Para mim, o "regime da incompetência" é bem melhor e mais útil, ou seja, eu credito a obrigação e debito a despesa, mas não no dia que a despesa aconteceu mas no dia do vencimento do cartão. Assim, eu obrigo o PHP a fazer dois balancetes, um é mensal, e o outro abrange todo o ano, tudo para comparar o valor da minha obrigação com o valor estipulado pela operadora do cartão. Enfim, o PHP não é nem melhor nem pior que o Excel, mas é tudo o que vai restar para mim se eu não conseguir o dinheiro do aluguel.
  24. Hoje estudei um pouco de HTML e aprendi a usar o marcador <details>. Vale a pena estudar HTML. Quanto mais HTML você sabe, mais gambiarra dá para fazer no PHP. Veja só: <?php $mysqli=new mysqli("localhost","root","","diario"); $query=$mysqli->query("select * from tbprod limit 5"); while ($row=$query->fetch_assoc()){ echo "<details><summary>".$row['prod']."</summary>"; echo "código do produto <b>".$row['codprod']."</b>"; echo "<br>custo <b>".$row['custo']."</b>"; echo "<br>margem <b>".$row['marg']."</b>"; echo "<br>codigo de barra <b>".$row['codbar']."</b>"; echo "<br>local <b>".$row['loc']."</b>"; echo "<br>embalagem <b>".$row['emb']."</b>"; echo "<br>NCM <b>".$row['cf']."</b>"; echo "<br>código do fornecedor <b>".$row['codforn']."</b>"; echo "</details>";} Ele lista 5 produtos. Para saber o detalhe de um produto, basta selecionar o ícone do detalhe. Ou a descrição do produto. Vou ver se é possível sumir com o ícone e se também é possível trabalhar com tabela para as informações não ficarem tão desalinhadas.
×
×
  • Criar Novo...