Ir para conteúdo

1stVieira

Members
  • Total de itens

    1
  • Registro em

  • Última visita

Posts postados por 1stVieira


  1. Olá a todos! Estou com uma dúvida em relação a realizar um cadastro no banco de dados (SQL) a partir de um formulário de um projeto.

     

    Possuo duas tabelas, Categoria e Itens, na qual a tabela Itens possui uma FOREIGN KEY com a tabela Categorias.

     

    Na página de Categorias consigo realizar os cadastro das mesmas sem problemas e elas estão sendo aplicadas em um SELECT na página de Cadastro dos Itens. O problema está sendo cadastrar os Itens no Banco de Dados. Estou utilizando PHP Orientado à Objetos

     

    Página de Adição de Pedidos

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title>Adição de Item</title>
    	</head>
    	<body>
    		<div>
    			<a href="modificarCardapio.php" class="link_home"><i class="fa fa-home"></i></a>
    		</div>
    		<div>
    			<div>
    				<h1>Adicionar Itens ao Cardápio</h1>
    			</div>	
    			<div>
    				<form action="#" method="POST">
    					<label>Categoria:</label>
    					<select name="selecionarcat">
    						<option selected>Selecione a Categoria</option>
    						<?php
    								require_once"../models/conexao.class.php";
    								require_once"../models/categoriaDAO.class.php";
    
    								$catDAO = new categoriaDAO();
    								$ret = $catDAO->buscarTodasCategorias();
    								if(count($ret) > 0){
    									foreach ($ret as $dado){
    									 echo "<option value='".$dado->idcategoria."'>".$dado->descritivo."</option>";
    									}
    								}
    							?>	
    					</select>
    					<br><br>
    					<a href="addcategoria.php"><input type="button" value="Adicionar nova Categoria"></a>
    					<p>
    						<label>Nome do Item: </label>
    						<input type="text" name="nomeproduto">
    					</p>
    					<p>
    						<label>Descrição: </label>
    						<input type="text" name="descricao">
    					</p>
    					<p>
    						<label>Preço: </label>
    						<input type="text" name="preco">
    					</p>
    					<br>
    					<input type="submit" value="Adicionar">
    				</form>
    			</div>
    		</div>
    	</body>
    </html>
    <?php
    	if($_POST){
    		require_once "../models/conexao.class.php";
    		require_once "../models/item.class.php";
    		require_once "../models/itemDAO.class.php";
    		$item = new item(null, $_POST["nomeproduto"], $_POST["descricao"], null, $_POST["preco"]);
    		$itemDAO = new itemDAO();
    		$itemDAO->adicionar($item);
    		header("Location:modificarCardapio.php");
    	}
    ?>

    ItemDAO.php

    <?php
    	class itemDAO extends conexao{
    		function __construct(){
    			parent:: __construct();
    		}
    		function adicionar($item){
    			$sql="INSERT INTO itens (nomeprod, descricao, preco, id_categoria) VALUES(?, ?, ?, ?)";
    			try{
    				$stm = $this->db->prepare($sql);
    				$stm->bindValue(1, $item->getNomeproduto());
    				$stm->bindValue(2, $item->getDescricao());
    				$stm->bindValue(3, $item->getPreco());
    				$stm->bindValue(4, $item->getCategoria());
    
    				$stm->execute();
    				$this->db = null;
    			}
    			catch(Exception $e){
    				die($e->getMessage());
    			}
    		}
    ?>

    Item.class.php

    <?php
    	class item{
    		private $iditem;
    		private $nomeproduto;
    		private $descricao;
    		private $categoria;
    		private $preco;
    
    		function __construct($iditem, $nomeproduto, $descricao, $categoria, $preco){
    			$this->iditem=$iditem;
    			$this->nomeproduto=$nomeproduto;
    			$this->descricao=$descricao;
    			$this->categoria=$categoria;
    			$this->preco=$preco;
    		}
    
    		function getIditem(){
    			return $this->iditem;
    		}
    
    		function getNomeproduto(){
    			return $this->nomeproduto;
    		}
    
    		function getDescricao(){
    			return $this->descricao;
    		}
    		
    		function getCategoria(){
    		    return $this->categoria;
    		}
    
    		function getPreco(){
    			return $this->preco;
    		}
    
    		function setIditem($iditem){
    			$this->iditem=$iditem;
    		}
    
    		function setNomeproduto($nomeproduto){
    			$this->nomeproduto=$nomeproduto;
    		}
    
    		function setDescricao($descricao){
    			$this->descricao=$descricao;
    		}
    		
    		function setCategoria($categoria){
    		    $this->categoria=$categoria;
    		}
    
    		function setPreco($preco){
    			$this->preco=$preco;
    		}
    	}
    ?>

     

×

Informação importante

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