Ir para conteúdo
clickanapolis

Colocar consulta dentro de json

Recommended Posts

Estou criando um arquivo json dessa maneira:

 

$sql = mysqli_query($con, "SELECT nome, percentual FROM atleticas order by percentual DESC, nome ASC");

while($vetor_ranking = mysqli_fetch_array($sql)) {

$ranking = [
    "atletica" => $vetor_ranking['nome'],
    "percentual" => $vetor_ranking['percentual']   
];

$rankingJson = json_encode($ranking);

echo $rankingJson;

}

o problema que o cliente solicitou que ao inves de criar varios ele precisa todos os cadastros dentro de um json apenas, como eu faria?

 

tipo atletica[0]

atletica[1]

 

não estou sabendo como fazer isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tento fazer como o aplicativo do cliente precisa mais não vai:

 

$ranking = [
    "ranking" => 
	
	while($vetor_ranking = mysqli_fetch_array($sql)) {
	
	[
	"id" => $vetor_ranking['id_atletica'],
    "percentual" => $vetor_ranking['percentual']
	]
	
	} 
	
];

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilize a variável $ranking como um array (basta adicionar [] ao lado da variável). Crie e imprima o json fora do laço de repetição (while).

while(/** código **/)
{
   $ranking[] = /** restante do código **/;
}

// criação do json

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
$sql = mysqli_query($con, "SELECT nome, percentual FROM atleticas order by percentual DESC, nome ASC");

//fora do laço para criar array
$ranking = []; 
while($vetor_ranking = mysqli_fetch_array($sql)) {

//indico ranking como array para resultado ficar agrupado
$ranking[] = [
    "atletica" => $vetor_ranking['nome'],
    "percentual" => $vetor_ranking['percentual']   
];

}

//retiro a criação do objeto do looping para gerar um objeto com todos os resultados e não um objeto para cada resultado
$rankingJson = json_encode($ranking);
//imprimo fora do looping o objeto para mostrar o resultado total e não um resultado por objeto.
echo $rankingJson;

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por santans
      Desejo saber como crio um gerador PHP de paginas html.
      Por exemplo quando alguém cria um perfil no meu site, o gerador criaria uma pagina no sistema a partir de uma pagina pre molde já feita.
      no caso seria para um e-comerce.
      Outro exemplo quando eu cadastro um produto e é gerada uma pagina para este tal produto.
      Se houver algum sistema mais simples para me indicarem fiquem a vontade.
      Nota: Não sou um programador experiente.
    • Por Snowden
      A empresa que trabalho está contratando Desenvolvedor Wordpress, com foco em front-end para criação e customização de sites. 
      Necessário conhecimento em PHP e MYSQL.
       
      Experiência em:
      Temas filhos, Plugins Hooks CSS jQuery PHP MYSQL GIT (Caso não tenha aprenderá com nós) DOCKER (Caso não tenha aprenderá com nós)  
      A vaga é apenas presencial, na cidade de São Paulo capital, bairro do Jardim Paulista próximo metrô Brigadeiro.
      Salário: Á Combinar.
      Contratação: CLT ou PJ.
       
      Interessados contactar-me por mensagem privada.
    • Por DKannel
      Olá pessoal, estou tentando criar um formulario de cadastro para meu projeto.
       
      Mas ele não está registrando no BD...  o arquilo SQL até então parece ok, mas se alguem puder ajudar eu agradeço
       
      index.html
      <body> <form id="cadastro" name="cadastro" method="post" action="cadastro.php" onsubmit="return validaCampo(); return false;"> <table width="650" border="0"> <tr> <td width="169">Nome:</td> <td width="461"><input name="nome" type="text" id="nome" size="70" maxlength="60" /> <span class="style1">*</span></td> </tr> <tr> <td>Email:</td> <td><input name="email" type="text" id="email" size="70" maxlength="60" /> <span class="style1">*</span></td> </tr> <tr> <td>Sexo:</td> <td><input name="sexo" type="radio" value="Masculino" checked="checked" /> Masculino <input name="sexo" type="radio" value="Feminino" /> Feminino <span class="style1">*</span> </td> </tr> <tr> <td>Data Nasc.:</td> <td><input name="datanasc" type="text" id="datanasc" maxlength="10" />EX. 11/11/2006 <span class="style1">*</span></td> </tr> <tr> <td>Estado Civil:</td> <td><select name="estadocivil" id="estadocivil"> <option>Selecione...</option> <option value="C">Casado(a)</option> <option value="E">Desquitado(a)</option> <option value="D">Divorciado(a)</option> <option value="S">Solteiro(a)</option> <option value="V">Viúvo(a)</option> </select> <span class="style1">*</span></td> </tr> <tr> <td>Escolaridade:</td> <td><select name="escolaridade" id="escolaridade"> <option>Selecione...</option> <option value="fuin">Fundamental Incompleto</option> <option value="fuco">Fundamental Completo</option> <option value="enme">Ensino Médio</option> <option value="suin">Superior Incompleto</option> <option value="suco">Superior Completo</option> </select> <span class="style1">*</span></td> </tr> <tr> <td>DDD:</td> <td><input name="ddd" type="text" id="ddd" size="4" maxlength="2" /> Telefone: <input name="telefone" type="text" id="telefone" /> <span class="style3">Apenas números</span> </td> </tr> <tr> <td>Endereço:</td> <td><input name="endereco" type="text" id="endereco" size="70" maxlength="70" /> <span class="style1">*</span></td> </tr> <tr> <td>CEP:</td> <td><input name="cep" type="text" id="cep" size="8" maxlength="8" /> <span class="style1">*</span></td> </tr> <tr> <td>Bairro:</td> <td><input name="bairro" type="text" id="bairro" maxlength="20" /> <span class="style1">*</span></td> </tr> <tr> <td>Cidade:</td> <td><input name="cidade" type="text" id="cidade" maxlength="20" /> <span class="style1">*</span></td> </tr> <tr> <td>Estado:</td> <td><select name="estado" id="estado"> <option>Selecione...</option> <option value="AC">AC</option> <option value="AL">AL</option> <option value="AP">AP</option> <option value="AM">AM</option> <option value="BA">BA</option> <option value="CE">CE</option> <option value="ES">ES</option> <option value="DF">DF</option> <option value="MA">MA</option> <option value="MT">MT</option> <option value="MS">MS</option> <option value="MG">MG</option> <option value="PA">PA</option> <option value="PB">PB</option> <option value="PR">PR</option> <option value="PE">PE</option> <option value="PI">PI</option> <option value="RJ">RJ</option> <option value="RN">RN</option> <option value="RS">RS</option> <option value="RO">RO</option> <option value="RR">RR</option> <option value="SC">SC</option> <option value="SP">SP</option> <option value="SE">SE</option> <option value="TO">TO</option> </select> <span class="style1">*</span></td> </tr> <tr> <td>País:</td> <td><input name="pais" type="text" id="pais" maxlength="20" /> <span class="style1">*</span></td> </tr> <tr> <td>-----------------</td> <td>-----------------------</td> </tr> </table> </form> </body> </html>  n
      cadastro.php
       
      $host= 'meu.host.com.br'; $bd= 'meu BD'; $userbd = 'Meu User'; $senhabd= 'Minha senha'; // RECEBENDO OS DADOS PREENCHIDOS DO FORMULÁRIO ! $nome = $_POST ["nome"]; //atribuição do campo "nome" vindo do formulário para variavel $email = $_POST ["email"]; //atribuição do campo "email" vindo do formulário para variavel $sexo = $_POST ["sexo"]; //atribuição do campo "sexo" vindo do formulário para variavel $datanasc = $_POST ["datanasc"]; //atribuição do campo "datanasc" vindo do formulário para variavel $estadocivil = $_POST ["estadocivil"]; //atribuição do campo "estadocivil" vindo do formulário para variavel $escolaridade = $_POST ["escolaridade"]; //atribuição do campo "escolaridade" vindo do formulário para variavel $ddd = $_POST ["ddd"]; //atribuição do campo "ddd" vindo do formulário para variavel $tel = $_POST ["telefone"]; //atribuição do campo "telefone" vindo do formulário para variavel $endereco = $_POST ["endereco"]; //atribuição do campo "endereco" vindo do formulário para variavel $cep = $_POST ["cep"]; //atribuição do campo "cep" vindo do formulário para variavel $cidade = $_POST ["cidade"]; //atribuição do campo "cidade" vindo do formulário para variavel $estado = $_POST ["estado"]; //atribuição do campo "estado" vindo do formulário para variavel $bairro = $_POST ["bairro"]; //atribuição do campo "bairro" vindo do formulário para variavel $pais = $_POST ["pais"]; //atribuição do campo "pais" vindo do formulário para variavel $cid = $_POST ["cid"]; //atribuição do campo "cid" vindo do formulário para variavel $tipodefi = $_POST ["tipodefi"]; //atribuição do campo "tipodefi" vindo do formulário para variavel $aperelho = $_POST ["aperelho"]; //atribuição do campo "aperelho" vindo do formulário para variavel $aperelhodefina = $_POST ["aperelhodefina"];//atribuição do campo "aperelhodefina" vindo do formulário para variavel $esta_trabalhando = $_POST ["esta_trabalhando"]; //atribuição do campo "esta_trabalhando" vindo do formulário para variavel //Gravando no banco de dados ! //conectando com o localhost - mysql $conexao = mysql_connect($host,$bd, $userbd, $senhabd); if (!$conexao) die ("Erro de conexão com localhost, o seguinte erro ocorreu -> ".mysql_error()); //conectando com a tabela do banco de dados $banco = mysql_select_db($bd,$conexao); if (!$banco) die ("Erro de conexão com banco de dados, o seguinte erro ocorreu -> ".mysql_error()); mysql_query($query,$conexao); $query = "INSERT INTO `clientes` ( `nome` , `email` , `sexo` , `datanasc` , `estadocivil` , `escolaridade` , `ddd` , `telefone` , `endereço` , `cep` , `cidade` , `estado` , `bairro` , `pais` , `cid` , `tipodefi` , `aperelho` , `aperelhodefina` , `esta_trabalhando` , `id` ) VALUES ('$nome', '$email', '$sexo', '$datanasc', '$estadocivil', '$escolaridade', '$ddd', '$tel', '$endereco', '$cep', '$cidade', '$estado', '$bairro', '$pais', '$cid', '$tipodefi', '$aperelho', '$aperelhodefina', '$esta_trabalhando', '')"; echo "Seu cadastro foi realizado com sucesso!<br>Só para reiterar, o cadastro NÃO LHE DÁ A GARANTIA de recebimento de aparelhos ou equipamentos, Agradecemos a atenção."; ?> valew, obrigado gente até logo menos
    • Por Andrelirasp
      Tenho uma página onde exibe livros registrados, eu gostaria de fazer uma outra focada em busca para buscar dados nas tabelas.
       
      Gostaria de fazer um sistema de busca onde buscaria dados digitados de acordo com a categoria selecionada, porém não sei por onde começo.
      Eu gostaria de adicionar a opção de **filtrar** por **categoria** seguida de um `_<input type="text">_` para o usuário selecionar a categoria e escrever o que ele quer buscar, a categoria no caso seriam as tabelas:
          <select name="opcao_filtro">
                     <option value="nulo">--</option>                
                     <option value="titulo">Título</option>
                     <option value="autor">Autor</option>
                     <option value="tema">Tema</option>
                     <option value="editora">Editora</option>
                     <option value="indice">Índice</option>
          </select>

      Logo abaixo teria o input:
          <input type="text" name="busca" id="busca"> // Procurar em tabela tal, tal coisa
          <input type="submit" value="Procurar">
       
      E depois(opcional para o usuário) buscar por letras(funcionaria junto com o filtro de categorias):
          <a href="url">A</a>
          <a href="url">B</a>
      **Exemplo**: Usúario escolheu filtrar por título e quando ele clica na letra _" A "_ buscasse entre a categoria e exibisse os resultados dos títulos que comesse com a letra selecionada.
    • Por clickanapolis
      Pessoal eu estou criando um filtro de busca e quando eu seleciono por exemplo estado e envio via GET estado=CEARÁ
      o problema que o cliente pediu que possa ter mais de um estado, mais ai quando envio por exemplo:
      estado=CEARÁ&estado=GOIÁS
       
      Minha duvida é como fazer a query consultar os 2 estados.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.