Exibir dados recém criados no SELECT do HTML

10 respostas Resolvido
N

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

M

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.

N

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

EStou fazendo com bootstrap.

M

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

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

M

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

N

Sim.

H

qual versão do bootstrap?

N

A mais atual, 4.3.1

N
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