Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

josuegd

relação em CRUD

Recommended Posts

Boa tarde,desculpe se estou no local errado,não sou acostumado com foruns..

 

estou com um projeto para minha empresa para controle de aparelhos vendidos,quero as funções de adicionar,editar e deletar(CRUD)

 

so que o meu codigo está colocando o ID para a ultima coluna e não esta colocando o primeiro campo que é o APARELHO.

Na pagina de edição está com um erro e fala que é na linha 7,eu nao consegui encontrar esse erro.

 

Pagina index:

<?php
include_once 'dbconfig.php';

// delete condition
if(isset($_GET['delete_id']))
{
 $sql_query="DELETE FROM cadastro WHERE user_id=".$_GET['delete_id'];
 mysql_query($sql_query);
 header("Location: $_SERVER[PHP_SELF]");
}
// delete condition
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CADASTRO DE APARELHOS</title>
<link rel="stylesheet" href="style.css" type="text/css" />
<script type="text/javascript">
function edt_id(id)
{
 if(confirm('Sure to edit ?'))
 {
  window.location.href='edit_data.php?edit_id='+id;
 }
}
function delete_id(id)
{
 if(confirm('Sure to Delete ?'))
 {
  window.location.href='index.php?delete_id='+id;
 }
}
</script>
</head>
<body>
<center>

<div id="header">
 <div id="content">
    <label>CADASTRO DE APARELHOS</label>
    </div>
</div>

<div id="body">
 <div id="content">
    <table width="82%" align="center">
    <tr>
    <th colspan="9"><a href="add_data.php">ADICIONE DADOS AQUI.</a></th>
    </tr>
    <tr>
      <th width="20%">APARELHO</th>
      <th width="21%">COMPRADOR</th>
      <th width="21%">FONE</th>
      <th width="21%">ORIGEM</th>
    <th width="21%">DATA</th>
    <th width="42%">NEGOCIAÇÃO</th>
    <th width="42%">TOTAL</th>
    <th colspan="2">Operação</th>
    </tr>
    <?php
 $sql_query="SELECT * FROM cadastro";
 $result_set=mysql_query($sql_query);
 while($row=mysql_fetch_row($result_set))
 {
  ?>
        <tr>
        <td><?php echo $row[1]; ?></td>
        <td><?php echo $row[2]; ?></td>
        <td><?php echo $row[3]; ?></td>
        <td><?php echo $row[4]; ?></td>
        <td><?php echo $row[5]; ?></td>
        <td><?php echo $row[6]; ?></td>
        <td><?php echo $row[7]; ?></td>
  <td width="7%" align="center"><a href="javascript:edt_id('<?php echo $row[0]; ?>')"><img src="b_edit.png" align="EDIT" /></a></td>
        <td width="10%" align="center"><a href="javascript:delete_id('<?php echo $row[0]; ?>')"><img src="b_drop.png" align="DELETE" /></a></td>
        </tr>
        <?php
 }
 ?>
    </table>
    </div>
</div>

</center>
</body>
</html>

Pagina de inserção:

<?php
include_once 'dbconfig.php';
if(isset($_POST['btn-save']))
{
 // variables for input data
 $aparelho = $_POST['aparelho'];
 $comprador = $_POST['comprador'];
 $fone = $_POST['fone'];
 $origem = $_POST['origem'];
 $data = $_POST['data'];
 $negociacao = $_POST['negociacao'];
 $total = $_POST['total'];
 // variables for input data

 // sql query for inserting data into database
 $sql_query = "INSERT INTO cadastro(aparelho,comprador,fone,origem,data,negociacao,total) VALUES('$aparelho','$comprador','$fone','$origem','$data','$negociacao','$total')";
 // sql query for inserting data into database
 
 // sql query execution function
 if(mysql_query($sql_query))
 {
  ?>
  <script type="text/javascript">
  alert('Data Are Inserted Successfully ');
  window.location.href='index.php';
  </script>
  <?php
 }
 else
 {
  ?>
  <script type="text/javascript">
  alert('error occured while inserting your data');
  </script>
  <?php
 }
 // sql query execution function
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CRUD Operations With PHP and MySql - By Cleartuts</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<center>

<div id="header">
 <div id="content">
    <label>CRUD Operations With PHP and MySql - By Cleartuts</label>
    </div>
</div>
<div id="body">
 <div id="content">
    <form method="post">
    <table align="center">
    <tr>
    <td align="center"><a href="index.php">VOLTAR</a></td>
    </tr>
    <tr>
    <td><input type="text" name="aparelho" placeholder="APARELHO" required /></td>
    </tr>
    <tr>
    <td><input type="text" name="comprador" placeholder="COMPRADOR" required /></td>
    </tr>
    <tr>
    <td><input type="text" name="fone" placeholder="FONE" required /></td>
    </tr>
     <tr>
    <td><input type="text" name="origem" placeholder="ORIGEM" required /></td>
    </tr>
     <tr>
    <td><input type="text" name="data" placeholder="DATA" required /></td>
    </tr>
     <tr>
    <td><input type="text" name="negociacao" placeholder="NEGOCIACAO" required /></td>
    </tr>
      <tr>
    <td><input type="text" name="negociacao" placeholder="TOTAL" required /></td>
    </tr> 
    <tr>
    <td><input type="text" name="total" placeholder="ID" required /></td>
    </tr>
    <tr>
    <td><button type="submit" name="btn-save"><strong>SALVAR</strong></button></td>
    </tr>
    </table>
    </form>
    </div>
</div>

</center>
</body>
</html>

Pagina de edição:

<?php
include_once 'dbconfig.php';
if(isset($_GET['edit_id']))
{
 $sql_query="SELECT * FROM cadastro WHERE id=".$_GET['edit_id'];
 $result_set=mysql_query($sql_query);
 $fetched_row=mysql_fetch_array($result_set);
}
if(isset($_POST['btn-update']))
{
 // variables for input data
 $aparelho = $_POST['aparelho'];
 $comprador = $_POST['comprador'];
 $fone = $_POST['fone'];
 $origem = $_POST['origem'];
 $data = $_POST['data'];
 $negociacao = $_POST['negociacao'];
 $total = $_POST['total'];
 // variables for input data

 // sql query for update data into database
 $sql_query = "UPDATE cadastro SET aparelho='$aparelho',comprador='$comprador',fone='$fone',origem='$origem',data='$data',negociacao='$negociacao',total='$total' WHERE id=".$_GET['edit_id'];
 // sql query for update data into database
 
 // sql query execution function
 if(mysql_query($sql_query))
 {
  ?>
  <script type="text/javascript">
  alert('Data Are Updated Successfully');
  window.location.href='index.php';
  </script>
  <?php
 }
 else
 {
  ?>
  <script type="text/javascript">
  alert('error occured while updating data');
  </script>
  <?php
 }
 // sql query execution function
}
if(isset($_POST['btn-cancel']))
{
 header("Location: index.php");
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CADASTRO DE APARELHOS</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<center>

<div id="header">
 <div id="content">
    <label>CADASTRO DE APARELHOS</label>
    </div>
</div>

<div id="body">
 <div id="content">
    <form method="post">
    <table align="center">
    <tr>
    <td><input type="text" name="aparelho" placeholder="APARELHO" value="<?php echo $fetched_row['aparelho']; ?>" required /></td>
    </tr>
    <tr>
    <td><input type="text" name="comprador" placeholder="COMPRADOR" value="<?php echo $fetched_row['comprador']; ?>" required /></td>
    </tr>
    <tr>
    <td><input type="text" name="fone" placeholder="FONE" value="<?php echo $fetched_row['fone']; ?>" required /></td>
    </tr>
      <tr>
    <td><input type="text" name="origem" placeholder="ORIGEM" value="<?php echo $fetched_row['origem']; ?>" required /></td>
    </tr>
      <tr>
    <td><input type="text" name="data" placeholder="DATA" value="<?php echo $fetched_row['data']; ?>" required /></td>
    </tr>
      <tr>
    <td><input type="text" name="negociacao" placeholder="NEGOCIAÇÃO" value="<?php echo $fetched_row['negociacao']; ?>" required /></td>
    </tr>
      <tr>
    <td><input type="text" name="total" placeholder="TOTAL" value="<?php echo $fetched_row['total']; ?>" required /></td>
    </tr>
    <tr>
    <td>
    <button type="submit" name="btn-update"><strong>ATUALIZAR</strong></button>
    <button type="submit" name="btn-cancel"><strong>CANCELAR</strong></button>
    </td>
    </tr>
    </table>
    </form>
    </div>
</div>

</center>
</body>
</html>

gostaria muito da ajuda de vocês,assim que eu terminar esse codigo vou estar fazendo uma pagina para login,assim só eu e meu socio vizualizaremos os dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde,

 

 

 

 

so que o meu codigo está colocando o ID para a ultima coluna e não esta colocando o primeiro campo que é o APARELHO.

 

Isto se refere à qual parte do teu código? , é a exibição na listagem que não está correta? Se sim, no "select * ", insira o nome das colunas para sabermos a ordem, pois não sabemos como está a ordem na tabela do BD: ex: 'SELECT campo1, campo2, campo3 FROM tabela ...'

 

 

Sobre a edição...qual o erro que é exibido?

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por brunopeople
      Eu estou fazendo um projeto de CRUD consumindo uma API Restfull com banco de dados mongoDB para uma teste de vaga de emprego, eu fiz a aplicação e ela roda sem erros nenhum, porém ao adicionar o registro do post ele não está adicionando o registro no banco de dados? Eu não consegui realmente encontrar o erro do por que isto está acontencendo ou por que? eu gostaria muito de alguém me ajudasse. 
       
      https://github.com/brunopeople/Teste-RedFox-Full-Stack
    • Por Rui PG
      Olá Amigos!
      Por favor, vocês poderiam me ajudar em uma questão, sou muito novo em desenvolvimento e acabei pegando o barco andando aqui na empresa :) rs.
       
      NECESSIDADE
       
      - Carregar os dados que vem da procedure "Proc_Lista" nas colunas que foram criadas manualmente no Datagrid.
      - Ao clicar no checkbox, da coluna “Selecionar”, de qualquer linha do Datagrid, os dados da linha devem ser apresentados nos campos do Form (TextBox e Combobox).
      - Ao desmar o checkbox da linha selecionada no Datagrid, os dados devem ser limpos do Form.
       
      O que eu tentei fazer
       
       
      Quando executo o programa o sistema está criando os campos automaticamente dentro do datagrid e deveria carregar dentro de cada coluna que foi criada.

      Resultado que está dando errado, quando carrego os dados no datagrid.
      O código está substituindo os meus campos que terminam com o (X), nesse caso preciso que as informações carreguem dentro dos campos terminados em (X) na qual eu criei manualmente, porém respeitando as camadas do projeto na qual descrevi abaixo.
      (Print do form em execução)

       
      CAMADA DE DADOS
      - Lista os Dados para o DataGrid
              public DataTable MostrarVisita(int CODALUNO)
              {
                  comando.Connection = conexao.Conectar();
                  comando.CommandText = "Proc_Lista_FollowupDetalheVisita";
                  comando.CommandType = CommandType.StoredProcedure;
                  comando.Parameters.AddWithValue("@CODALUNO", CODALUNO);
                  leer = comando.ExecuteReader();
                  tabela.Load(leer);
                  conexao.Desconectar();
                  return tabela;
              }//fim do bloco
       
      CAMADA DE NEGOCIOS
      public DataTable MostrarFollowupGeral(string CODALUNO)
              {
                 DataTable tabela = new DataTable();
          tabela = objetoFollowupGeral.MostrarVisita(Convert.ToInt32(CODALUNO));
                 return tabela;
              }
       
      CAMADA DO USUARIO
              private void MostrarFollowupVisita()
              {
       
                  dtgVisita.Columns.Clear
                  var columnCheck = new DataGridViewCheckBoxColumn();
                  columnCheck.HeaderText = "[x]";
                  this.dtgVisita.Columns.Add(columnCheck);
       
                 
                  var varCodAlunoII = txtCodAluno.Text;
      FollowupGeralModel objectInterno = new FollowupGeralModel();               dtgVisita.DataSource = objectInterno.MostrarFollowupGeral(varCodAlunoII.ToString());
                  dtgVisita.Columns[1].Visible = false;
                  txtTotalLinhaDataGrid.Text = dtgVisita.RowCount.ToString();
              }
       
    • Por tekton
      Olá pessoal, uma empresa pediu pra fazer um teste e mandou fazer um CRUD com Nome, Email, Telefone e Endereço. Seguindo as aulas da parte de CRUD do Bonieky Lacerda tentei incluir mais dois itens mas não está dando certo. Não sei o que posso estar fazendo errado. Vou colocar os códigos para mostrar.
       
      // BANCO -- phpMyAdmin SQL Dump -- version 4.9.0.1 -- https://www.phpmyadmin.net/ -- -- Host: localhost:8889 -- Tempo de geração: 07/11/2019 às 17:05 -- Versão do servidor: 5.7.26 -- Versão do PHP: 7.3.8 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; -- -- Banco de dados: `teste` -- -- -------------------------------------------------------- -- -- Estrutura para tabela `tab_teste` -- CREATE TABLE `tab_teste` ( `id` int(11) NOT NULL, `nome` varchar(100) NOT NULL, `email` varchar(50) NOT NULL, `telefone` int(20) NOT NULL, `endereco` varchar(100) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Índices de tabelas apagadas -- -- -- Índices de tabela `tab_teste` -- ALTER TABLE `tab_teste` ADD PRIMARY KEY (`id`); -- -- AUTO_INCREMENT de tabelas apagadas -- -- -- AUTO_INCREMENT de tabela `tab_teste` -- ALTER TABLE `tab_teste` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; // INDEX DO CRUD <?php include 'teste.class.php'; $teste = new Teste(); ?> <h1>teste</h1> <table border="1" width="500"> <tr> <th>ID</th> <th>Nome</th> <th>Email</th> <th>Telefone</th> <th>Endereço</th> </tr> <?php $lista = $teste->getAll(); foreach ($lista as $item): ?> <tr> <td><?php echo $item['id']; ?></td> <td><?php echo $item['nome']; ?></td> <td><?php echo $item['email']; ?></td> <td><?php echo $item['telefone']; ?></td> <td><?php echo $item['endereco']; ?></td> </tr> <?php endforeach; ?> </table> // CRUD <?php class Teste { private $pdo; public function __construct(){ $this->pdo = new PDO("mysql:dbname=teste;host=localhost", "root","root"); } public function adicionar($nome, $email, $telefone, $endereco){ if($this->existeEmail($email) == false){ $sql = "INSERT INTO tab_teste (nome, email, telefone, endereco) VALUES (:nome, :email, :telefone, :endereco)"; $sql = $this->pdo->prepare($sql); $sql->bindValue(':nome', $nome); $sql->bindValue(':email', $email); $sql->bindValue(':telefone', $telefone); $sql->bindValue(':endereco', $endereco); $sql->execute(); return true; } else{ return false; } } public function getNome($email){ $sql = "SELECT nome FROM tab_teste WHERE email = :email"; $sql = $this->pdo->prepare($sql); $sql->bindValue(':email', $email); $sql->execute(); if($sql->rowCont() > 0){ $info = $sql->fetch(); return $info['nome']; }else { return ''; } } public function getAll(){ $sql = "SELECT * FROM tab_teste"; $sql = $this->pdo->query($sql); if($sql->rowCont() > 0){ return $sql->fetchAll(); }else{ return array(); } } public function editar($nome, $email) { if($this->existeEmail($email) == true){ $sql = "UPDATE tab_teste SET nome = :nome WHERE email = :email"; $sql = $this->pdo->prepare($sql); $sql->bindValue(':nome', $nome); $sql->bindValue(':email', $email); $sql->bindValue(':telefone', $telefone); $sql->bindValue(':endereco', $endereco); $sql->execute(); return true; }else{ return false; } } public function excluir($email){ if($this->existeEmail($email)){ $sql = "DELETE FROM tab_teste WHERE email = :email"; $sql = $this->pdo->prepare($sql); $sql->bindValue(':email', $email); $sql->execute(); return true; } else { return false; } } private function existeEmail($email){ $sql = "SELECT FROM tab_teste WHERE email = :email"; $sql = $this->pdo->prepare($sql); $sql->bindValue(':email', $email); $sql->execute(); if($sql->rowCont() > 0){ return true; }else { return false; } } }  
    • Por Claudinei Teodoro
      Sou super novato estou começando a entender programação agora e estou com dificuldade em implementar o método UPDATE no meu DAO Generico.
      Os métodos INSERT, SELECT, DELETE já esta funcionando preciso somente de uma ajuda para o método UPDATE.

      Segue abaixo método INSERT que estou utilizando, alguém pode me ajudar com o método UPDATA utilizando como base este método INSERT.


      public void salvar(T objeto) throws SQLException, IllegalArgumentException, IllegalAccessException, ClassNotFoundException {


      Class classe = objeto.getClass();

      String parteInicialSQL = "INSERT INTO " + classe.getSimpleName().toLowerCase() + "(";

      Field[] atributos = classe.getDeclaredFields();
      String parteFinalSQL = ") VALUES(";

      for (Field atributo : atributos) {
      if (!"id".equals(atributo.getName())) {
      parteInicialSQL += atributo.getName().toLowerCase() + ",";
      parteFinalSQL += "?,";
      }
      }

      parteInicialSQL = parteInicialSQL.substring(0, parteInicialSQL.length() - 1);
      parteFinalSQL = parteFinalSQL.substring(0, parteFinalSQL.length() - 1) + ")";

      Class.forName("org.postgresql.Driver");
      Connection conexao = DriverManager.getConnection("jdbc:postgresql://127.0.0.1:5432/postgres", "postgres", "123456");
      PreparedStatement sql = conexao.prepareStatement(parteInicialSQL + parteFinalSQL);

      int numeroInterrogacao = 1;
      for (Field atributo : atributos) {
      if (!"id".equals(atributo.getName())) {
      atributo.setAccessible(true);
      sql.setObject(numeroInterrogacao++, atributo.get(objeto));
      }
      }

      System.out.println(parteInicialSQL + parteFinalSQL);

      sql.execute();
      conexao.close();

      }
    • Por lucasvbl
      <form id="frmDados" name="frmDados" class="form-horizontal" method="post" action="" enctype="multipart/form-data"> <input name="acao" id="acao" type="hidden" value="paginas"> <? if($_idCodigo){ ?> <input name="r" id="r" type="hidden" value="<?=$_idCodigo;?>"> <? } ?> <div class="row"> <div class="col-md-6"> <div class="form-group row"> <label class="col-md-2 col-form-label"> Titulo</label> <div class="col-md-10"> <input class="form-control" autocomplete="off" type="text" name="txtDescricao" id="txtDescricao" value="<?=$_rowDados->C02_DESCRICAO;?>"> </div> </div> </div> <? if($_idCodigo){ ?> <div class="col-md-6"> <div class="form-group row"> <label class="col-md-2 col-form-label"> Link</label> <div class="col-md-10"> <input readonly="readonly" class="form-control" type="text" name="txtLink" id="txtLink" value="pagina.php?p=<?=$_rowDados->C01_ID;?>"> </div> </div> </div> <? } ?> </div> <div class="row"> <div class="col-md-12"> <div class="form-group row"> <label class="col-md-12 col-form-label">Conteúdo</label> <div class="col-md-12"> <textarea class="form-control" name="txtConteudo" id="txtConteudo"> <?=$_rowDados->C04_CONTEUDO;?> </textarea> </div> </div> </div> </div> <div class="col-md-12" style="text-align: center;"> <button class="btn btn-oval btn-success" type="button" id="btGravar">Gravar</button> </div> </form> <script type="text/javascript"> $(function () { $("#btGravar").click(function(){ erros = 0; if(!$("#txtDescricao").val()){ mensagem('mensagemDIV', 'danger', 'Preencha o campo <strong>Título para a página</strong>.', 0, 'txtEntidade'); erros = 1; } if(erros > 0){ return; } off("btGravar"); var formData = $("#frmDados").serialize(); $.ajax({ url: "app.php", type: "POST", data: formData, dataType: "json", success: function (retorno) { if(retorno.status == '1'){ tratarRetorno(retorno); } if(retorno.status == '400'){ tratarRetorno(retorno); } on("btGravar"); return; } }).fail(function (jqXHR, textStatus, error) { console.log(jqXHR.responseJSON); }); return; }); }); $(document).ready(function(){ $("#txtTitulo").focus(); }); </script> Estou com um problema num crud utilizando ajax, ele meio que "corrompe a string"... 
      ENVIO ASSIM
       
      ELE SALVA ASSIM
       
      Não estou utilizando nenhum editor nada, num textarea
      ESSE CODIGO
       
       
       
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.