Jump to content

Flaviaac

Members
  • Content count

    6
  • Joined

  • Last visited

Community Reputation

0 Comum

About Flaviaac

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Boa tarde galera! Estou tendo um problema esquisito aqui. Sou iniciante e não faço a mínima ideia do que pode ser. Veja só, no campo dropdown abaixo coloquei no "value" o ID, mas ele salva no banco como tipo STRING e não INT. <?php $sql = "SELECT id, sigla FROM local ORDER BY sigla ASC"; $result = $conn->query($sql); ?> . . . <select name="local" class="form-control"> <option selected>Selecione...</option> <?php while($row = $result->fetch_assoc()){ echo "<option value=".$row['id'].">".$row['sigla']."</option>"; } ?> </select> . . . Dei um var_dump() pra saber o que apareceria e ele mostra como STRING. <pre> <?php $sql = "SELECT id, sigla FROM local ORDER BY sigla ASC"; $result = $conn->query($sql); $row = $result->fetch_assoc(); var_dump($row['id']); ?> </pre> Resultado: string(1) "5" Esse é o Banco de dados: Coloquei a coluna ID como INT. -- phpMyAdmin SQL Dump -- version 4.8.3 -- https://www.phpmyadmin.net/ SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET AUTOCOMMIT = 0; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Banco de dados: `arq` -- -- -------------------------------------------------------- -- -- Estrutura para tabela `local` -- CREATE TABLE `local` ( `id` int(11) NOT NULL, `SIGLA` mediumtext NOT NULL, `LOCAL` mediumtext NOT NULL, `TELEFONE` mediumtext NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Fazendo dump de dados para tabela `local` -- INSERT INTO `local` (`id`, `SIGLA`, `LOCAL`, `TELEFONE`) VALUES (1, 'AAC', 'AAC', '2222-2222'), (2, 'DSV', 'DSV', '1111-1111'), (3, 'SCA', 'SCA', '3333-3333'); -- -- Índices de tabelas apagadas -- -- -- Índices de tabela `local` -- ALTER TABLE `local` ADD PRIMARY KEY (`id`); -- -- AUTO_INCREMENT de tabelas apagadas -- -- -- AUTO_INCREMENT de tabela `local` -- ALTER TABLE `local` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6; COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; Obrigada pessoal!
  2. Flaviaac

    Vir por padrão o nome cadastrado no campo select não o id

    Ah, entendi! Vou tentar implementar aqui uma destas formas e ver se funciona. Muito obrigada @Felipe Guedes Coutinho!
  3. Boa tarde pessoal, Por favor, alguém saberia me ajudar! O que eu quero é o seguinte, Quando o usuário clicar no botão editar na página "listar_usuario.php" será direcionado para "editar_usuario.php", e nos campos, por padrão virão com as informações cadastradas no BD. O campo de seleção (local) busca as opções de outra tabela do banco. O nome dos locais estão aparecendo normalmente para selecionar, mas quero que por padrão ele busque o nome do BD e não o id da tabela como está agora. Tentei de várias formas e não estou conseguindo. Obrigada! arquivo editar_usuario.php: <form action="" method="post"> <div class="form-row"> <?php $usuario = $_GET['usuario']; $nome = $_GET['nome']; ?> <div class="form-group col-md-6"> <label><span class="text-danger"></span> Usuário</label> <input name="usuario" type="text" class="form-control" value="<?php echo $usuario; ?>"> </div> <div class="form-group col-md-6"> <label><span class="text-danger"></span> Nome</label> <input name="nome" type="text" class="form-control" value="<?php echo $nome; ?>"> </div> <!-------------select local---------------> <?php $sql_dropbox = "SELECT id, sigla FROM local"; $result_dropbox = $conn->query($sql_dropbox); $local_dropbox = $_GET['local_id']; $id = $_GET['id']; ?> <div class="form-row"> <div class="form-group col-md-4"> <label>Local</label> <select name="local" class="form-control"> <option selected><?php echo $local_dropbox; ?></option> <?php while($row = $result_dropbox->fetch_assoc()){ echo "<option value=".$row['id'].">".$row['sigla']."</option>"; } ?> </select> </div> </div> <div class="form-row"> <div class="form-group col-md-4"> <button type="submit" class="btn btn-primary" name="editar_u">Editar</button> <a href="listar_usuario.php" class="btn btn-primary" name="voltar">Voltar</a> </div> </div> </form> <?php $usuario_u = $_POST['usuario']; $nome_u = $_POST['nome']; $local_u = $_POST['local']; $id_u = $_GET['id']; if(isset($_POST['editar_u'])){ if($usuario_u !='' || $nome_u !='' || $local_u !=''){ $sql = "UPDATE usuario SET usuario='$usuario_u', nome='$nome_u', local_id=$local_u WHERE id=$id_u"; $result = mysqli_query($conn, $sql); if($conn->query($sql) === TRUE){ echo "<span class='alert alert-success'> Usuário editado com sucesso</span>"; }else{ echo "<span class='alert alert-danger'> Usuário não foi editado</span>"; } } } $conn->close(); ?> </div> </div> Arquivo listar_usuario: <?php $sql = "SELECT usuario.id, usuario.usuario, usuario.nome, usuario.local_id, local.sigla, usuario.data_criacao FROM usuario INNER JOIN local ON usuario.local_id = local.id"; $result = $conn->query($sql); ?> <div class="table-responsive"> <table class="table table-bordered table-hover table-striped"> <thead> <tr> <th>ID</th> <th>Usuário</th> <th>Nome</th> <th>Local</th> <th>Data de Cadastro</th> <th>Ações</th> </tr> </thead> <?php if ($result->num_rows > 0) { echo "<tbody>"; while($row = $result->fetch_assoc()) { echo "<tr>"; echo "<td>" .$row['id'] ."</td>"; echo "<td>" .$row['usuario']. "</td>"; echo "<td>" .$row['nome']. "</td>"; echo "<td>" .$row['sigla']. "</td>"; echo "<td>" .$row['data_criacao']. "</td>"; echo "<td>"; echo "<a href=\"editar_usuario.php?usuario={$row['usuario']}&nome={$row['nome']}&id={$row['id']}&local_id={$row['local_id']}\" class=\"btn btn-outline-primary\" title=\"editar\">Editar</a>&nbsp;&nbsp;"; echo "<a href=\"excluir_usuario.php?id={$row['id']}\" class=\"btn btn-outline-primary\" title=\"apagar\">Apagar</a>"; echo "</td>"; echo "</tr>"; } } else { echo "0 resultados"; } ?> </tbody> </table> <?php $conn->close(); ?>
  4. Flaviaac

    [Resolvido] Não consigo deletar registro do banco de dados

    Entendi. Obrigada!
  5. Flaviaac

    [Resolvido] Não consigo deletar registro do banco de dados

    Funcionou! Eu tinha feito com link antes, mas devia ter feito alguma coisa errada e mudei pro form. Mas deu certo agora. Muito obrigada!! Só uma pergunta de leiga. para que servem estas barras invertidas antes das aspas (\") na tag <a>?
  6. Boa tarde pessoal, Estou começando a programar em PHP agora e ainda tenho muitas dúvidas, gostaria de uma ajuda =) Quero deletar um registro da tabela quando pressionar o botão de "apagar" como na imagem: O que acontece é que quando aperto o botão, ele exibe a mensagem de que foi deletado com sucesso, porém não deleta do banco. E exibe a mensagem: Notice: Undefined index: id in .../teste_tabela3/deletar_produto.php on line 11 Alguém saberia me dizer o que estou fazendo errado? Obrigada! Segue o código do arquivo deletar_produto.php <?php include_once 'cabeçalho.php'; include_once 'conexao.php'; $id = $_POST['id']; if(isset($_POST['apagar'])){ $sql = "DELETE FROM produtos WHERE id='$id'"; $result = mysqli_query($conn, $sql); if($conn->query($sql) === TRUE) echo "<br/><br/><span>O registro foi deletado com sucesso...!!</span>"; }else{ echo "<p>Não foi possivel apagar o registro....!!</p>"; } $conn->close(); ?> Esse é o arquivo listar_produtos.php <?php include_once 'cabeçalho.php'; include_once 'conexao.php'; ?> <div class="d-flex mx-2 my-2"> <div class="mr-auto p-2"> <h2 class="display-4 titulo">Lista de Produtos</h2> </div> </div> <?php $sql = "SELECT id, produto, valor FROM produtos"; $result = $conn->query($sql); ?> <!--------------------------------------------TABELA--------------------------------------------> <div class="table-responsive"> <table class="table table-bordered table-hover table-striped"> <thead> <tr> <th>ID</th> <th>Produto</th> <th>Valor</th> <th>Ações</th> </tr> </thead> <?php if ($result->num_rows > 0) { echo "<tbody>"; while($row = $result->fetch_assoc()) { echo "<tr>"; echo "<td>" .$row['id'] ."</td>"; echo "<td>" .$row['produto']. "</td>"; echo "<td>" .$row['valor']. "</td>"; echo "<td>"; echo "<form action='deletar_produto.php' method='post'>"; echo "<button type='submit' class='btn btn-outline-primary' name='editar'>Editar</button> &nbsp;"; echo "<button type='submit' class='btn btn-outline-primary' name='apagar'>Apagar</button>"; echo "</form>"; echo "</td>"; echo "</tr>"; } } else { echo "0 results"; } ?> </tbody> </table> <?php $conn->close(); include_once 'rodape.php'; ?>
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.