Exibir dados recém criados no SELECT do HTML

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.

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.

1 curtida

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");
     }

EStou fazendo com bootstrap.

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.

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

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

Sim.

qual versão do bootstrap?

A mais atual, 4.3.1

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!