Para o tutorial dele funcionar, você precisar criar o arquivo index.html no diretório raiz, e o arquivo index.php na pasta api.
O tutorial do Wash é acadêmico, ele usa o Ajax. Eu ainda estou no primário, só ontem é que consegui chegar até o JavaScript, usando o famoso método da tentativa e erro:
index.php
<script>asyncfunction json(){
response =await fetch("teste.php")
produtos =await response.json()
categorias ={}
produtos.forEach(function(produto){
key=produto.tipo
if(!categorias[key]){categorias[key]=[]}
categorias[key].push(produto.tipo)})}</script>
===============================================================================
teste.php
<?php
$mysqli=new mysqli("localhost","root","","laravel");
$query=$mysqli->query("select * from mat join tipomat on tipomat.id = mat.idtipo");die(json_encode($query->fetch_all(MYSQLI_ASSOC)));
Esse código não faz o menor sentido. O PHP ajunta duas tabelas e monta o json (eu fiquei feliz com esse código, essa foi a primeira vez que eu vi o PHP mostrar o json em carne e osso), e na outra ponta usei a função fetch para pegar o json do PHP mas o máximo que eu consegui ontem foi separar as categorias dos produtos.
O problema é como eu passo as categorias para o HTML? Eu não consegui.
O Bard me ensinou que eu não posso usar o recurso da variável global no JavaScript, quando trabalho com uma função assíncrona. Ou seja, agora que eu consegui mandar o json para o HTML, descobri que não posso fazer mais nada, a menos que eu estude Ajax e o tutorial do Wash.
====================================
Depois de estudar um pouco o tutorial do Wash, eu consegui colocar o Json do Javascript dentro do HTML assim:
dados.php
<?php
// mysql mat(id,material,valor,idtipo)// mysql tipomat (id,tipo)
$mysqli=new mysqli("localhost","root","","laravel");
$tarefa=$_GET['tarefa'];if($tarefa=="categoria"){
$query=$mysqli->query("select * from tipomat");}if($tarefa!=="categoria"){
$query=$mysqli->query("select * from mat join tipomat on mat.idtipo=tipomat.id where tipo='$tarefa'");}die(json_encode($query->fetch_all(MYSQLI_ASSOC)));==================================================================================<script>asyncfunction json(){
response=await fetch("dados.php?tarefa=categoria");
dados=await response.json();
first.innerHTML="<option>Selecione uma Categoria</option>"
dados.forEach(function(dado){
first.innerHTML+="<option>"+dado.tipo+"</option>"})}asyncfunction json2(){
modal2.style='display:block;margin-top:50px'
response=await fetch("dados.php?tarefa="+first.value);
dados=await response.json();
second.innerHTML="<option>Selecione um Produto</option>"
dados.forEach(function(dado){
second.innerHTML+="<option>"+dado.material+"</option>"})}</script><button onclick="modal.style='display:block;margin-top:50px'">Abrir modal
</button><div id=modal style='display:none'><select id=first onchange=json2()><script>json()</script></select></div><div id=modal2 style='display:none'><select id=second></select></div>
Pergunta
Frank K Hosaka
Lá em 2020, o Wash me informou que era possível despachar um json pelo PHP, eu tentei e como não consegui acabei desistindo.
Aqui em 2023, o Wash bateu na mesma tecla: o PHP consegue sim despachar o json. Ele passou esse tutorial: https://github.com/w-studies/ajax-json
Para o tutorial dele funcionar, você precisar criar o arquivo index.html no diretório raiz, e o arquivo index.php na pasta api.
O tutorial do Wash é acadêmico, ele usa o Ajax. Eu ainda estou no primário, só ontem é que consegui chegar até o JavaScript, usando o famoso método da tentativa e erro:
Esse código não faz o menor sentido. O PHP ajunta duas tabelas e monta o json (eu fiquei feliz com esse código, essa foi a primeira vez que eu vi o PHP mostrar o json em carne e osso), e na outra ponta usei a função fetch para pegar o json do PHP mas o máximo que eu consegui ontem foi separar as categorias dos produtos.
O problema é como eu passo as categorias para o HTML? Eu não consegui.
O Bard me ensinou que eu não posso usar o recurso da variável global no JavaScript, quando trabalho com uma função assíncrona. Ou seja, agora que eu consegui mandar o json para o HTML, descobri que não posso fazer mais nada, a menos que eu estude Ajax e o tutorial do Wash.
====================================
Depois de estudar um pouco o tutorial do Wash, eu consegui colocar o Json do Javascript dentro do HTML assim:
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.