Exibir dados recém criados no SELECT do HTML

10 respostas Resolvido
Niemand

Gostaria de saber como faço a exibição num Select de algo recem criado no campo “categoria”.

Por exemplo:

Vou por pro usuário cadastrar uma categoria, gostaria que a mesma aparecesse no select assim que ele criasse.

10 Respostas

Mauricio_Dantas

Para fazer isso você teria que está utilizando ajax, eu fiz um exemplo aqui pra você vou mandar o link de download aqui: https://mega.nz/#F!HuIjHKCL!hiUABViYZsESbFW97LyVtg
Creio que era isso que você desejava, depois de testar de um feedback aqui se era isso mesmo que você estava querendo.

Niemand

NÃo estou utilizando PDO.

Vou mostrar como estou criando o sistema.

Trecho que tem o select comum:

<option selected>Categoria</option>
  <option value="1">Um</option>
  <option value="2">Dois</option>
  <option value="3">Três</option>
  <option value="show">Adicionar Categoria</option>
  
</select>
<form id="criar_categoria" name="signup" method="POST" action="../classes/proc_categorias.php">
<div id="hiddenDiv" style="height:100px;width:300px;border:1px;visibility:hidden;">
<div class="input-group mb-3">
  <input type="text" name="categorias" class="form-control" placeholder="Ex: Acessórios" aria-label="Recipiente para nickname" aria-describedby="basic-addon2">
  <div class="input-group-append">
  <button type="submit" class="btn btn-success">Criar Categoria</button>

Trecho responsável pelo processo de cadastro no banco de dados:

<?php session_start(); include('conexao.php');


    $categorias = $_POST['categorias'];
    
    $sql = mysqli_query($con, "INSERT INTO categorias (nome_categoria) VALUES ('$categorias')");

     if(mysqli_affected_rows($con)){	
        //Váriavel global recebendo a mensagem de erro
        $_SESSION['categoria_cadastrada'] = "Categoria cadastrada com sucesso!";
        header("Location: ../sistema/produto_adicionar.php");
     }
     else{
        $_SESSION['categoria_naocadastrada'] = "Desculpe mas houve um erro com a criação da categoria!";
        header("Location: ../sistema/produto_adicionar.php");
     }
Niemand

EStou fazendo com bootstrap.

Mauricio_Dantas

você está utilizando PDO ?
Então cara infelizmente eu nunca fiz uso de pdo, mas a pegada é a mesma você vai precisar do ajax de qualquer forma.
Pesquise um pouco mais, caso não encontre, logo logo alguém vem com alguma outra resposta mais adequada.

Niemand

Não, eu não estou utilizando PDO. Só quis avisar. Não consegui implementar o seu código ao meu, fiquei meio cnofuso.

Mauricio_Dantas

Como você está montando sua combo? puxando do banco correto?

Niemand

Sim.

Hundea

qual versão do bootstrap?

Niemand

A mais atual, 4.3.1

Niemand
Solucao aceita

Gostaria de dizer que solucionei o tópico depois de bastante tempo. Venho aqui disponibilizar o trecho do código que me salvou.

<?php   
    $get = ("SELECT * FROM categorias ORDER BY categoria DESC");
    $result2 = mysqli_query($con, $get);

    $option = '';

    while($row = mysqli_fetch_array($result2))
    { 
      $option .= "<option value = '".$row['idcategoria']."'>".$row['categoria']."</option>";
    }
?> 
<select name="categoria" id="categoriaoption">         
        <?php
            echo "<option value='0'>Selecione</option>";
            echo $option;
        ?>

Só jogar dentro de um form, select e etc que funciona. Abraço!

Criado 29 de abril de 2019
Ultima resposta 6 de mai. de 2020
Respostas 10
Participantes 3