Ir para conteúdo
Fórum Script Brasil
  • 0

( Resolvido ) json_encode retorna undefined


MTavares

Pergunta

Olá colegas.

Não sei exatamente se o erro está no Jquery ou PHP, mas por via das dúvidas colocarei aqui. Tenho um sistema do qual o usuário ao selecionar o tamanho da pizza, aparecerá a relação das pizzas referentes ao tamanho. Porém ele retorna o nome da Pizza, mas o ID ele retorna como undefined. Veja:

HTML

<select name="Pizzas" id="pizzas" class="form-control" disabled>
   <option value="0">Selecione o tamanho da pizza acima</option>
</select>

JQUERY

<script type="text/javascript">
  $(document).ready(function() {
    $('#tamanho-pizzas').change(function(e) {
      $('#pizzas').attr("disabled", false);
      $('#pizzas').empty();
      var id = $(this).val();

      if(id == 0){
        $('#pizzas').attr("disabled", true);
        $('#pizzas').html("<option value='0'>Selecione o tamanho da pizza acima</option>");
      }
      // alert(id);
      $.post('pizzariasajax.php', {ufid:id}, function(data){


        //  alert(console.log(JSON.stringify(data)));
        //  var cmb = '<option value="">Selecione a pizza</option>';
        var cmb;
        $.each(data, function (index, value){
          alert(console.log(Object.keys(this)));
          // var cidadeid;
          cmb = cmb + '<option value="' + value.cidadeid + '">' + value.cidade + '</option>';
        });
        $('#pizzas').html(cmb);
      }, 'json');
    });
  });
</script>

PHP

 if (isset($_SERVER["HTTP_X_REQUESTED_WITH"]) && $_SERVER["HTTP_X_REQUESTED_WITH"] === "XMLHttpRequest"){
       $conexao = mysqli_connect('192.168.250.120','root','','pizzarias') or die(mysqli_error($conexao));
        $ufid = filter_input(INPUT_POST, 'ufid', FILTER_SANITIZE_NUMBER_INT);

        if ($ufid){
            $query = mysqli_query($conexao, "SELECT pizzas.IdPizzas, pizzas.TamanhoPizzas, sabores.Sabores, sabores.IdSabores FROM piz_cad_pizzas pizzas INNER JOIN piz_cad_sabores sabores ON pizzas.IdSabores = sabores.IdSabores WHERE pizzas.TamanhoPizzas=".$ufid." GROUP BY sabores.Sabores");

          while($jm = mysqli_fetch_array($query)){

                $linhas[] = array(
                   "cidadeid" => $jm["IdPizzas"],
                   "cidade" => $jm["Sabores"]
                  );
           }
          echo json_encode($linhas);
      }
  }

No SQL ele retorna corretamente. Veja a imagem abaixo:

 

retornoSQL.PNG

Editado por MTavares
Link para o comentário
Compartilhar em outros sites

1 resposta 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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...