Jump to content

Criar categorias com sub categorias


Recommended Posts

Posted

fiz até aqui mais nao esta aparecendo a sub categoria

<?php include_once"../../banco/conexao.php"?>
<!DOCTYPE html>
<html>
    <head>
        <script src="../../js/jquery-3.1.1.min.js"></script>
    </head>
    <body>
    <select id="cmbCat">
        <?php
            foreach($con->query('SELECT cat_cod, cat_nome FROM categoria_item ORDER BY cat_nome') as $row){
                echo '<option value="'.$row['cat_cod'].'">'.$row['cat_nome'].'</option>';
            }    
        ?>

       </select>
    <div id="sel">
    </div>
    <script>
        $(document).ready(function(){
            $('#cmbCat').change(function(e){
                var cat = $('#cmbCat').val();
                $.ajax({
                    dataType: "json",
                    url: 'sub_cat.php',
                    type: 'post',
                    data: {'cat': cat},
                    success: function(data){
                        var selSub = $("<select id=\"cmbSub\" name=\"cmbSub\" />");
                        for(var i = 0; i < data.length;i ++) {
                            $("<option />", {value: i, text: data[i]}).appendTo(selSub);
                        }
                        if (e = $('#cmbSub')) {
                            $('#cmbSub').remove();
                        }
                        $('#sel').append(selSub);
                    }
                });
            })
        });
    </script>
    </body>
</html>

 

<?php include_once"../../banco/conexao.php"?>

<?php
$cat = $_POST['cat'];

$busca = "SELECT sub_nome FROM sub_categoria WHERE sub_categoria.cat_cod = ?";
    $consulta = $con->prepare($busca);
    $consulta->execute([$cat]);
    $resultado = $consulta->fetch();

echo json_encode($resultado);

 

 

Posted

o teu endpoint de chamada de AJAX não está a retornar uma lista, está sim a retornar um obejcto JSON com os dados de um único registo. isto invalida o ciclo que tens dentro da função de processamento da resposta do AJAX

a função que deverias ter para obter a lista todoa de registos seria ->fetchAll

como te foi dito : se chamares directamente o endpoiint da chamada de AJAX no teu browser verás que a resposta não é aquilo que esperas

IRC : sim, é algo que ainda existe >> #p@p
Posted

muito obrigado

não intendo nada de ajax fui vendo projetos e tutoriais e acabei chegando até aqui

troquei o FETCH POR FECHALL  começou a retornar [object Object] ante retornava mais so que vazio agora retorna a mesma qnt de coisa que tem no banco mais não o nome que esta no banco retorna [object Object]

vc sabe me dizer oq estou errando

pra ficar mais claro estou montando um site de classificados para tcc do meu curso e tenho que fazer as categoria para o usuario escolher e ai aparecer a sub categoria para depois avançar com o cadastro de produtos

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.