
Frank K Hosaka
Membros-
Total de itens
1.581 -
Registro em
-
Última visita
Tudo que Frank K Hosaka postou
-
Eu ainda não sei como cadastrar um usuário no banco de dados, mas no meu código PHP eu consegui criar dois usuários com a variável global $_SESSION. Eu criei o usuário $_SESSION['id']=1 e o outro usuário é o $_SESSION['id']=2. O nome do programa é orçamento. Ele é controlado pela tabela supervariável onde tem o número do orçamento em que o usuário está trabalhando. Eu pensei que precisaria mexer no programa orçamento para suportar mais de um usuário, mas decidi não mexer nada. Eu mexi na tabela supervariável, onde só havia um registro, com o código codsuper=1. Eu criei um outro registro com os mesmos dados, mas com o codsuper=2. No programa orçamento, onde havia $query=$mysqli->query("select * from tbsupervariavel"), eu alterei para $codsuper=$_SESSION['id']; $query=$mysqli->query("select * from tbsupervariavel where codsuper=$codsuper"); Eu fiz a mesma coisa onde havia a ocorrência do update da tbsupervariavel. E assim consegui executar o orçamento no PC e um outro orçamento no celular, usei apenas um login diferente, e assim consegui trabalhar com dois orçamentos diferentes ao mesmo tempo! Estou super contente, mesmo que a Croácia tenha conseguido acertar todos os penaltis.
-
Estudei o componente Bleeze e encontrei exatamente o que eu queria, uma tela com o nome de quem estava logado no topo da tela. Mas na hora de ver como fazer isso, eu só encontrei {{_('Dashboard')__}} e não consegui achar mais nada a respeito desse comando. Assim eu decidi trabalhar com o Laravel básico, sem nenhum componente. E assim começou a minha pesquisa no Google, e depois de várias tentativas e erros, encontrei um tutorial de como fazer o nome do usuário logado no topo da tela: Laravel 9 Custom Login and Registration Example - ItSolutionStuff.com O problema do Google é que tem muitas respostas, mas a maioria não funciona no ambiente do Laravel 9. Nesse tutorial que eu encontrei, eu me deparei com o misterioso {{_('Dashboard')__}}, tudo o que ele faz é botar o nome do usuário no topo da tela mas com a logomarca da Laravel. Para fazer algo mais personalizado, o jeito é estudar bastante, mas pelo menos eu aprendi que não preciso instalar o componente Breeze, por enquanto. Com a ajuda do Google, consegui colocar o nome do usuário no topo da tela, criei um arquivo menu.blade.php com esse comando {{ auth()->user()->name }}. No PHP, eu usei a variável global $_SESSION, mas todo o projeto ficou amarrado com o valor de duas senhas. Estudando o Laravel pretendo consertar novamente o banco de dados e o código PHP que suporta apenas um usuário.
-
utilizar AJAX com XMLHttpRequest
pergunta respondeu ao Juscelinoo de Frank K Hosaka em Tutoriais & Dicas - PHP
Eu tentei executar o seu código, mas ele não funcionou. Eu fiz as seguintes adaptações: <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script> function enviarViaAjax(){ alert("resposta Não OK do LADO do XMLHttpRequest.readyState"); } enviarViaAjax() </script> O JavaScript é coisa nova para mim. Tudo o que eu sei do JavaScript eu aprendi com o Iowys e o Wash aqui no fórum. Para eu usar as funções do ajax, eu preciso conectar o HTML com a biblioteca do ajax através do primeiro código <script src>. Para colocar o Javascript no HTML eu preciso usar o marcador <script></script>. Outra coisa que eu aprendi com o Iowys e o Wash foi separar os códigos, o <?php ?> de um lado, e o <script></script> do outro lado. O Iowys me orientou a separar o PHP e o HTML. Eu ainda não consegui, estou estudando o Laravel para ver se é possível separar essas duas linguagens de programação. Mas misturar <?php ?> com <script>, você é o primeiro caso aqui no fórum, mas eu aconselho a não fazer isso a menos que seja estritamente necessário. -
Ah, eu esqueci a peça mais importante do frankstein: é a maquiagem! How to Install Bootstrap in Laravel 9? | by LaravelTuts | Medium mas eu não consegui instalar depois de muitas tentativas. Olhando o documento oficial do Laravel, só encontrei uma nota afirmando que as versões novas já vem o componente Vite. Como fazer o Bootstrap trabalhar com o Vite, isso não tem nenhuma palavra, assim fica por sua conta e risco tentar vários tutoriais que tem na internet, eles alegam que funciona, mas o meu não funcionou. Eu usei várias vezes o comando npm install && npm run dev, mas só recebi o alerta de que o projeto estava inconsistente. É uma pena. Certamente eu estaria podre de rico se conseguisse fazer um frankstein andar.
-
Finalmente, decidi acrescentar o modal do Livewire no meu projeto frankstein (How to build modals with Laravel and Livewire (philo.dev). O Laravel me incentivou a consertar o meu banco de dados bem como a melhorar o meu código PHP que criei em 2020. Não dá para traduzir diretamente o PHP em Laravel, tem muita coisa que o Laravel oferece mas que eu não havia previsto no meu código, o Laravel valoriza o planejamento, já o PHP é flexível demais e você não consegue escapar da tentação de fazer gambiarra. Claro que o PHP consegue montar um frankstein tão bom quanto o Laravel, mas chega uma hora que a consciência dói e uma voz lá no fundo grita: a gambiarra não compensa.
-
Depois de instalado o Laravel Breeze, ele mostra a tela do Welcome e lá em cima tem a opção de login e register, isso quando você usa localhost:8000 na tela do navegador. No meu caso, eu só tenho 2 usuários, e não preciso criar novos usuários no momento. Logo, só a rotina do login já é suficiente. Para fazer isso, eu alterei o route do Breeze assim: <?php use App\Http\Controllers\ProfileController; use Illuminate\Support\Facades\Route; //Route::get('/', function () {return view('welcome');}); //Route::get('/dashboard', function () {return view('dashboard');})->middleware(['auth', 'verified'])->name('dashboard'); //Route::middleware('auth')->group(function () { // Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit'); // Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update'); // Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');}); require __DIR__.'/auth.php'; Route::get('/',function() {return view('auth.login');}); Route::get('/dashboard',function(){return "olá mundo";});
-
Ontem eu tive coragem de ler novamente o manual do Laravel, é um texto bem difícil, ele está escrito em inglês e usa muitos termos técnicos do tipo "framework", coisa que eu não ainda não encontrei nenhuma palavra em português a não ser "frankstein", um monstro montado com vários pedaços roubados lá da funerária. Em 2020, eu aprendi a usar o PHP e o JavaScript. O PHP é capaz de abrir uma tabela no MySQL e mostrar para o usuário as informações disponíveis na tabela. Já o JavaScript é capaz de enxergar a escolha que o usuário fez. E só existe um espaço para ajuntar esses dois recursos, é o HTML. Estudar PHP e JavaScript para montar uma página HTML não é nada fácil. Foi pensando nesse drama é que inventaram o Laravel, é um frankstein. Existem muitos outros frankstein na internet. Ontem eu consegui instalar um novo componente no meu projeto, ele se chama Laravel Breeze. Esse componente pega o RG do usuário. De 2020 até 2022, eu usei esse código em HTML para pegar o RG do usuário: <form method=post> Qual é a senha? <input name=senha> </form> Ou seja, eu usei a senha para identificar o usuário, é um programinha bem pangaré e através dele eu consegui separar as páginas de HTML, quem usava a senha 1234 podia ver todas as páginas, e quem tinha a senha 4321 só as páginas menos importantes. Já o Laravel Breeze é bem esperto. Ele pega o RG do usuário e grava numa tabela. Eu precisaria de uns 20 anos para montar uma solução desse tipo tipo, já o Laravel Breeze só precisa de cinco minutos, basta apenas ter experiência para costurar. Graças a minha falta de experiência, eu tive que criar um novo projeto pelo composer, pois eu havia jogado fora o arquivo welcome.blade.php, sem isso não tem como instalar o Laravel Breeze; no novo projeto é preciso configurar o banco de dados, tanto no arquivo .env bem como no config/database.php, isso sem esquecer de fazer o artisan migrate e npm install para ter uma cirurgia bem sucedida.
-
Como corrigir o erro "array_map(): Argument #2 ($array)"?
pergunta respondeu ao R SM de Frank K Hosaka em Tutoriais & Dicas - PHP
O Iowys tem razão, um dos vetores não tem nada. Fiz um código mais simples que chegou na mesma mensagem de erro. <?php function soma($v1,$v2){return $v1+$v2;} $v1=[1,2,3];$v2=null; var_dump ( array_map('soma',$v1,$v2) ); Mensagem: Fatal error: Uncaught TypeError: array_map(): Argument #3 must be of type array, null given in C:\wamp64\www\astudy\astudy.php on line 4 Nesse caso, use var_dump($v2) antes do código do array_map para confirmar que o Iowys tem razão. O problema é saber porque a variável array $v2 não foi definida. -
Hoje eu encontrei um tutorial sobre paginação no PHP nesse endereço: Como fazer Paginação em PHP com MySQL (devmedia.com.br) Mas na hora de testar, encontrei um monte de mensagens. O tutorial trabalha com o motor MySQL, coisa que eu não domino. Mudei tudo para o motor mysqli, fiz alguns ajustes, até ele funcionar. Eu tentei fazer paginação, mas eu fiz gambiarra, usando a variável global $_SESSION, já o código do tutorial é bem simples, e usa apenas dois links para disparar o método GET. O problema é entender a equação que tem no meio do caminho; mesmo assim, ele funciona: <?php $nivelLogin=2; $mysqli=new mysqli("localhost","root","","diario"); if($nivelLogin == 0){$busca="select * from tbprod order by prod";} else { $busca = "select * from tbprod where prod like 'm%' order by prod";} $total_reg=10; if(isset($_GET['pagina'])){$pagina=$_GET['pagina'];}else{$pagina=null;} if(!$pagina){$pc=1;}else{$pc=$pagina;} $inicio=$pc-1; $inicio=$inicio*$total_reg; $limite=$mysqli->query("$busca LIMIT $inicio,$total_reg"); $todos=$mysqli->query("$busca"); $tr=mysqli_num_rows($todos); $tp=$tr/$total_reg; while($dados=$limite->fetch_array()){ echo $dados['prod']."<br>";} $anterior=$pc-1; $proximo=$pc+1; echo "<a href=?pagina=$anterior><- Anterior</a> | "; if($pc<$tp){echo "<a href=?pagina=$proximo>Proxima -></a>";}
-
Eu estou traduzindo vários códigos PHP em Laravel. Mas tem um código que eu não lembrava como foi feito, era o plano de contas em duas colunas e ainda usando uma fonte bem pequena para caber no meio da tela. O código é uma bela gambiarra. Eu peguei a tabela plano de contas, e dividi em duas consultas. A primeira consulta só pegava as contas do ativo, a segunda consulta pegava as contas do passivo em diante. Eu juntei as duas consultas numa só tabela. Isso ficou bacana. Como vou fazer isso no Laravel, ainda eu não tenho a menor ideia. <?php $mysqli=new mysqli("localhost","root","","diario"); $query=$mysqli->query("select * from tbconta where conta<201"); $NumContasAtivo=mysqli_num_rows($query); $query2=$mysqli->query("select * from tbconta where conta>=201"); $NumContasPassivo=mysqli_num_rows($query2); $parte1=$NumContasPassivo; $parte2=$NumContasAtivo-$NumContasPassivo; echo "<div style='background:lightgray;width:130;position:relative;left:500;top:50'>"; echo "<table style='font-size:12'>"; for($i=1;$i<=$parte1;$i++){ $row=$query->fetch_assoc(); $row2=$query2->fetch_assoc(); echo "<tr><td>".$row['conta']."<td>"."Contas"."<td>" .$row2['conta']."<td>"."Contas";} for($i=1;$i<=$parte2;$i++){ $row=$query->fetch_assoc(); echo "<tr><td>".$row['conta']."<td>"."Contas";} echo "</table></div>";
-
Calcular media de checkbox's selecionados.
pergunta respondeu ao Wesley Goncalves de Frank K Hosaka em Tutoriais & Dicas - PHP
Hahaha... Eu não vi que os valores vinham do MySQL. Que mancada! Mas de todo jeito, o mais importante é o cálculo da mediana. Ele funciona se você colocar o código JavaScript sozinho, se bem que esse código é bem difícil de entender, eu não sei o que é aquele [...arr]. Você já viu um negócio desses? -
Calcular media de checkbox's selecionados.
pergunta respondeu ao Wesley Goncalves de Frank K Hosaka em Tutoriais & Dicas - PHP
Eu tentei usar a fórmula do JavaScript fundamental (ES6 Syntax): Get the median of an array of numbers - w3resource, mas não deu certo. Não sei o que eu fiz de errado: <script> function atual(){ arr=[] if(inp1.checked){arr.push(inp1.value)} if(inp2.checked){arr.push(inp2.value)} if(inp3.checked){arr.push(inp3.value)} if(inp4.checked){arr.push(inp4.value)} if(inp5.checked){arr.push(inp5.value)} const median = vr => { const mid = Math.floor(vr.length / 2), nums = [...vr].sort((a, b) => a - b); return vr.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2;}; console.log(median([5,6,50,1,-5])) console.log(median([1,2,3,45])) painel.innerHTML="Valores dos checkbox ativos "+arr+"<br>Mediana "+median(arr)} </script> <table> <tr><td><input id=inp1 type=checkbox value=1 name=arr[] onclick=atual()>1 <tr><td><input id=inp2 type=checkbox value=2 name=arr[] onclick=atual()>2 <tr><td><input id=inp3 type=checkbox value=3 name=arr[] onclick=atual()>3 <tr><td><input id=inp4 type=checkbox value=4 name=arr[] onclick=atual()>4 <tr><td><input id=inp5 type=checkbox value=5 name=arr[] onclick=atual()>5 </table> <div id=painel><div> No código JavaScript tem dois testes que deveriam dar 5 e 3, mas está dando 5 e 2,5. -
Depois de 12 horas de tentativa e erro, eu conseguir colocar o Eloquent dentro do Livewire do Laravel, mas ainda falta diminuir a fonte do plano de contas e dividir em duas páginas: primeiro > app > Http > Livewire > ShowHideComponent.php <?php namespace App\Http\Livewire; use Livewire\Component; use App\Models\tbconta; class ShowHideComponent extends Component { public $showDiv=false; public $contaD=null; public $contaC=null; public $contas=null; public $descricaoD=null; public $descricaoC=null; public $contaInput=null; public function render(){return view('livewire.show-hide-component');} public function mount(){$this->contas=tbconta::select('conta','descricao')->get()->toarray();} public function plano($conta){$this->contaInput=$conta;$this->showDiv=true;} public function selec($chave){ if($this->contaInput=='contaD'){ $this->contaD=$this->contas[$chave]['conta']; $this->descricaoD=$this->contas[$chave]['descricao'];} if($this->contaInput=='contaC'){ $this->contaC=$this->contas[$chave]['conta']; $this->descricaoC=$this->contas[$chave]['descricao']; } } } ------ primeiro > resources > views > livewire > show-hide-component.blade.php <div> <table> <tr><td>ContaD <input wire:click=plano('contaD') wire:model='contaD' name=contaD size=1> <td><a>{{$descricaoD}}</a> <tr><td>ContaC <input wire:click=plano('contaC') wire:model='contaC' name=contaC size=1> <td><a>{{$descricaoC}}</a> </table> @if($showDiv) <div wire:click=$toggle('showDiv')> <table> @foreach($contas as $chave => $cta) <tr><td><a wire:click=selec({{$chave}})>{{$cta['conta']}} {{$cta['descricao']}}</a> @endforeach </div> @endif </div>
-
Hoje eu criei uma classe assim: primeiro.app.Http.Livewire.ShowHideComponent.php <?php namespace App\Http\Livewire; use Livewire\Component; class ShowHideComponent extends Component { public $showDiv=false; public function plano($conta){$showDiv=true;} } A mensagem que eu recebi do Laravel é que a variável $showDiv não estava definida. Fiquei 5 horas pesquisando o Google e não achei a solução. Então, por tentativa e erro, eu mudei a variável $showDiv para $this->showDiv, e assim o programa funcionou. Ou seja, não basta definir a variável no topo da lista que as funções abaixo não vão conseguir trabalhar com ele se você não usar o token $this-> Além de aprender a usar o token $this-> eu também aprendi a fazer um modal bem simples sem o JavaScript. O JavaScript funciona em qualquer página HTML, mas no meu caso eu queria pegar o JavaScript num repositório. O Laravel tem centenas de repositórios, mas eu não consegui carregar o arquivo .js no meu HTML. Assim, eu decidi estudar o componente ShowHIdeComponent do Livewire com esse tutorial: Laravel Livewire Show and Hide Div Example (larainfo.com) Eu cai na besteira de mudar o nome da classe e do blade, e o Laravel ficou só mandando mensagens de erro. Levei mais 5 horas para consertar a besteira que eu fiz. Depois de mais 5 horas na base da tentativa e erro, consegui montar dois <input>, o primeiro recebe a Conta Devedora, e o segundo recebe a Conta Credora, que é selecionado num Plano de Contas que aparece assim que você clica no <input>. O código ficou assim: primeiro > app > Http > Controllers > aStudyController.php <?php namespace App\Http\Controllers; use Illuminate\Http\Request; class aStudyController extends Controller { public function index(){return view('astudy');} } ------ primeiro > app > Http > Livewire > ShowHideComponent.php <?php namespace App\Http\Livewire; use Livewire\Component; class ShowHideComponent extends Component { public $showDiv=false; public $contaD=null; public $contaC=null; public $contaInput=null; public function render(){return view('livewire.show-hide-component');} public function plano($conta){$this->contaInput=$conta;$this->showDiv=true;} public function selec($conta){ if($this->contaInput=='contaD'){$this->contaD=$conta;} if($this->contaInput=='contaC'){$this->contaC=$conta;} } } ------ primeiro > resources > views > livewire > show-hide-component.blade.php <div> <table> <tr><td>ContaD <input wire:click=plano('contaD') wire:model='contaD' name=contaD> <tr><td>ContaC <input wire:click=plano('contaC') wire:model='contaC' name=contaC> </table> @if($showDiv) <div wire:click=$toggle('showDiv')> <table> <tr><td><a wire:click=selec(1000)>1000 Ativo</a> <tr><td><a wire:click=selec(2000)>2000 Passivo</a> <tr><td><a wire:click=selec(3000)>3000 Receita</a> <tr><td><a wire:click=selec(4000)>4000 Despesa</a> </div> @endif </div> ------ primeiro > resources > views > astudy.blade.php <form> @livewireStyles @livewireScripts <livewire:show-hide-component> <input type=submit> </form> ----- primeiro > routes > web.php <?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\aStudyController; use App\Http\Controllers\diarioController; Route::get('/astudy',[aStudyController::class,'index']);
-
Não consegui carregar o JavaScript no Laravel
pergunta respondeu ao Frank K Hosaka de Frank K Hosaka em PHP
O Telegram só funciona no celular. Desde 1990 tenho uma enorme dificuldade com o celular. O Facebook, por exemplo, eu só uso no PC. -
Não consegui carregar o JavaScript no Laravel
pergunta respondeu ao Frank K Hosaka de Frank K Hosaka em PHP
Comecei a minha pesquisa do Livewire, e encontrei esses dois endereços: Actions | Laravel Livewire (laravel-livewire.com) Laravel Livewire Show and Hide Div Example (larainfo.com) Toda gramática nova dá desespero, mas consegui testar o primeiro tutorial. O Livewire segue o esquema do Laravel, ele tem um controlador que fica na pasta app.Http.Livewire e um visualizador que fica na pasta resources.views.livewire. O grande truque é que você precisa incluir o visualizador do livewire dentro de um outro visualiazador para poder ver no navegador. Ou seja, o livewire é uma espécie de sub-HTML. -
Eu encontrei no Google uma dica para instalar o NPM no Windows para ajudar o Laravel a carregar o código JavaScript no projeto, mas não deu certo. Continuando a pesquisa, encontrei esse texto: Frontend - Laravel - The PHP Framework For Web Artisans. O meu inglês não é lá grande coisa, mas o que eu consegui entender é que eu não devo mais usar o JavaScript, e estudar um pouco mais o PHP e Blade. O que eu preciso é de um modal, uma janela para eu escolher uma conta do plano e a conta escolhida vai direto na tela de lançamento. Se eu não conseguir com o PHP e o Blade, nesse caso, o texto me recomenda a estudar o Laravel Livewire. Agora eu sei porque não tem forum para o Laravel, é muito complicado.
-
A gramática para obter o número do próximo lançamento contábil no Laravel Eloquent é $lcto=tbdiario::orderBy('lcto','desc')->first( )->lcto+1 ele também aceita executar esse comando se você escrever "oderby", tudo em minúsculo. Mas o Laravel não é tão flexível. Se você escrever $lcto=tbdiario::orderby('lcto','desc')->first('lcto')+1, ele vai reclamar "Unsupported operand types: App\Models\tbdiario+int". Se você escrever $lcto=tbdiario::orderby('lcto')->last( )->lcto+1, ele vai reclamar "Call to undefined method Illuminate\Database\Eloquent\Builder::last( )". Se você escrever $lcto=tbdiario::orderby('lcto',desc)->first( )->lcto+1, ele vai reclamar "Undefined constant App\Http\Controllers\desc". E também não é possível definir o lançamento contábil como chave primária com auto incremento no MySQL, pois tem muito lançamento que precisa de mais de uma conta devedora ou mais de uma conta credora para registrar o fato gerador, do tipo a compra de uma paçoca de R$ 1,00, pagando a metade no cartão de débito, e outra metade no cartão de crédito, ele ficaria assim: lcto,contad,contac,valor,hist 7007,refeicao, ,R$1,00,paçoca 7007, ,banco,R$ 0,50,paçoca 7007, ,visa,R$ 0,50,paçoca Resumindo, o Laravel é apenas um dicionário como o PHP. Quanto mais palavras você conhecer do dicionário, maior é a possibilidade de você fazer uma boa redação. A minha esperança com o Laravel é que ele me ensine a colocar o PHP na rede. Ontem eu vi um vídeo do YouTube explicando como usar o comando "authorize" do Laravel, ele é interessante, o desenvolvedor criou uma página Web em cinco partes, o usuário que tiver a credencial de administrador pode ver todas as partes, o usuário que for apenas visitante não ver nada! Eu não preciso de um programa desse porte, o que eu preciso é saber como permitir dois usuários usarem o mesmo programa de orçamento ao mesmo tempo.
-
Como faço para somar a coluna Lucro ?
pergunta respondeu ao tiagolemos85 de Frank K Hosaka em Repositório de Scripts - PHP
Não. A soma é um agrupamento. Ou você soma tudo, select sum(lucro) as totalLucro from jogos, ou soma por partes select data,sum(lucro) as totalLucro from jogos group by data. O que você pode fazer é mostrar toda a listagem e em seguida fazer uma nova consulta para servir de totalizador. <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx" crossorigin="anonymous"> <?php $mysqli=new mysqli("localhost","root","","astudy"); $resultado= $mysqli->query("select * from jogos order by id desc"); if(($resultado)and($resultado->num_rows != 0)){ ?> <table class="table table-striped table-bordered table-hover"> <tr><th>Data<th>Esporte<th>Time Casa<th>Time Visitante<th>Placar<th>Steak<th>Odd<th>Lucro <?php while($row=mysqli_fetch_assoc($resultado)){ ?> <tr><td><?=date('d/m/Y',strtotime($row['data']))?><td><?=$row['esporte']?><td><?=$row['timea']?> <td><?=$row['timeb']?><td><?=$row['placar']?><td><?=$row['steak']?> <td><?=$row['odd']?><td><?=$row['lucro']; } $calculo=$mysqli->query('select sum(lucro) as lucrototal from jogos'); $consulta=$calculo->fetch_assoc(); $lucro=$consulta['lucrototal']; echo "<tr style=color:red><td><td><td><td><td><td><td>Lucro<td>$lucro";} else { echo "<div class='alert alert-danger' role='alert'>Nenhum esporte encontrado!</div>";} -
Ajuda com o COMPOSER
pergunta respondeu ao Vitor de Jesus de Frank K Hosaka em Tutoriais & Dicas - PHP
Ops, eu lembrei. A dica é você escolher um diretório onde você quer instalar o Laravel. Vamos supor que seja a pasta "C:/Usuário/Vitor". Você instala o composer nesse diretório, e com o composer você instala o projeto também nesse diretório. Se você não gostar desse diretório, você pode apagar tudo (só o projeto, é claro), vai para outro diretório, e começa tudo de novo. Eu não sei como tornar o composer disponível para todo o sistema. -
Ajuda com o COMPOSER
pergunta respondeu ao Vitor de Jesus de Frank K Hosaka em Tutoriais & Dicas - PHP
Eu usei o composer só uma vez para instalar o projeto do Laravel. Depois, nunca mais usei esse programa. -
Código php para tracert em rede
pergunta respondeu ao Everton Cardoso Deolinda de Frank K Hosaka em Tutoriais & Dicas - PHP
Pelo que eu li em Como usar o TRACERT para solucionar problemas de TCP/IP no Windows - Suporte da Microsoft, ele é um comando a ser utilizado no prompt do Windows. Tentei tracert www.google.com, e ele começou a mostrar os primeiros 30 saltos. Ainda pelo Google encontrei vpn - PHP Script to Traceroute? - Stack Overflow -
Problema ao $result_infoc->bindParam('oc',$nome);
pergunta respondeu ao Athyrson_1 de Frank K Hosaka em PHP-GTK
Tentei testar o seu código, e acredito que o "extract" está sendo usado de maneira errada. Não consegui trabalhar com o bindParam, eu mudei para bindValue. Aqui está o código que usei, procurei nomes ao invés de pedido. astudy.php <?php $conn=new PDO("mysql:host=localhost;dbname=diario","root",""); if (isset($_GET['oc_pesquisar'])) { $oc_pesquisar = $_GET['oc_pesquisar']; $query_oc = "SELECT pessoa FROM tbpessoa WHERE pessoa LIKE :oc"; $result_infoc = $conn-> prepare($query_oc); $result_infoc->bindValue('oc','%'.$oc_pesquisar.'%'); $result_infoc->execute(); while($row_infoc=$result_infoc->fetch(PDO::FETCH_BOTH)){ echo $row_infoc['pessoa']."<br>"; } echo "<button onclick=location.replace('astudy.php')>Nova Pesquisa</button>"; exit;} ?> <!DOCTYPE html><html lang="pt-br"><head><meta charset="UTF-8"> <title>Informações</title></head> <body><h1>Pesquisar nomes</h1> <form> <label>Informe: </label> <input name=oc_pesquisar placeholder="Pesquisar nome"><p> <input type="submit" value="Pesquisar"><br><br> </form></body></html> Ao invés de usar o motor PDO, eu uso o motor mysqli, ambos fazem o mesmo serviço, o problema é que o mysqli só funciona com o MySQL. <?php $mysqli=new mysqli("localhost","root","","diario"); if (isset($_GET['procurar'])) { $procurar = $_GET['procurar']; $query=$mysqli->query("select * from tbpessoa where pessoa like '%$procurar%'"); while($row=$query->fetch_assoc()){ echo $row['pessoa']."<br>"; } echo "<button onclick=location.replace('astudy.php')>Nova Pesquisa</button>"; exit;} ?> <form> Pesquisar pessoas: <p> <input name=procurar placeholder="Pesquisar nome"><p> <input type=submit value=Pesquisar> -
<?php $objBoleto = new stdClass; $objBoleto->TipoImpressao="1"; $objBoleto->Boletos=["MJN4GKK7E"]; echo json_encode($objBoleto); // resultado {"TipoImpressao":"1","Boletos":["MJN4GKK7E"]}
-
Onde colocar o código do produto no <input list>?
pergunta respondeu ao Frank K Hosaka de Frank K Hosaka em PHP
Aqui está o mesmo código, considerando que o código do produto será exibido sempre com quatro digítos (se no MySQL o código do produto for 22, o <input list> vai mostrar como [0022]: <?php $mysqli=new mysqli("localhost","root","","diario"); if(isset($_GET['escolha'])){ $produto=$_GET['escolha']; $pos1=strpos($produto,"[")+1; $codprod=substr($produto,$pos1,4); echo "$produto => código do produto $codprod"; $teste=$mysqli->query("select * from tbprod where codprod=$codprod"); echo "<p>produto: ".$teste->fetch_assoc()['prod']; echo "<p><button onclick=location.replace('astudy.php')>Procurar outro produto</button>"; exit;} ?> <form> <input list=produtos name=escolha onchange=submit()> <datalist id=produtos> <?php $query=$mysqli->query("select * from tbprod order by prod"); while($row=$query->fetch_assoc()){ $texto=$row['prod']; $codprod=$row['codprod']; $cod2=$codprod; if($codprod<10){$cod2="000".$codprod;} if($codprod>=10&&$codprod<100){$cod2="00".$codprod;} if($codprod>=100&&$codprod<1000){$cod2="0".$codprod;} $exibir=$texto." [$cod2]"; echo "<option>$exibir</option>";} ?> </datalist> </form>