[PHP] Ajuda em um CRUD

23/06/2017

0

A duvida e a seguinte, eu nao estou conseguindo excluir um pedido de acordo com o ID do botao excluir que busca no atributo data do html. Eu consigo incluir numa boa, o problema esta nesse excluir mesmo.

index.php
<!DOCTYPE HTML>
<html lang="pt-br">
	<head>
		<meta charset="UTF-8">

		<title>CRUD em PHP</title>

		<!-- jquery - link cdn -->
		<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>

		<!-- bootstrap - link cdn -->
		<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
		<link rel="stylesheet" href="template/estilo.css">
	
		<script type="text/javascript">
			$(document).ready(function(){

				$('#btn_novo_pedido').click( function(){
					$.ajax({
							url: 'includes/inclui_pedido.php',
							method: 'post',
							data: $('#form_pedido').serialize(),
							success: function(data) {
								$('#nme_usuario').val('');
								$('#vlr_pedido').val('');
								$('#dsc_pedido').val('');
								atualizaPedidos();
							}
						});
				});

				$('#btn_excluir_pedido').click( function(){
					var id_pedido = $(this).data('id_pedido');

					$.ajax({
							url: 'includes/excluir_pedido.php',
							method: 'post',
							data: { excluir_id_pedido: id_pedido},
							success: function(data){
								atualizaPedidos();
							}
						});
				});

				function atualizaPedidos(){
					$.ajax({
						url: 'includes/get_pedidos.php',
						success: function(data){
							$('#pedidos').html(data);
						}
					})
				}

				atualizaPedidos();
			});		
		</script>
	</head>

	<body>

			<h1 class="text-center">CRUD em PHP</h1>
			<br />
			<br />	
	    				<center><form id="form_pedido" class="input-group">
	    					<input type="text" id="nme_usuario" name="nme_usuario" class="form-control" placeholder="Nome" maxlength="80" />
	    					<input type="text" id="vlr_pedido" name="vlr_pedido" class="form-control" placeholder="Valor" />
	    					<input type="text" id="dsc_pedido" name="dsc_pedido" class="form-control" placeholder="Descrição" maxlength="200" />
	    					<button class="btn btn-success" id="btn_novo_pedido" type="button">Registrar Pedido</button>
	    				</form></center>
			<br />
			<br />
			<input type="text" name="" placeholder="Digite o número do pedido"><button>Consultar</button>
			<div class="table-responsive">
				<table class="table">
					<thead>
						<tr>
							<th>Pedido</th>
							<th>Nome</th>
							<th>Data</th>
							<th>Valor</th>
							<th>Descrição</th>
							<th>Operação</th>
						</tr>
					</thead>
					<tbody id="pedidos">
					</tbody>					
				</table>
			</div>

			
	
		<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
	
	</body>
</html>


get_pedidos.php
<?php

	require_once('../config/db.class.php');

	$objDb = new db();
	$link = $objDb->conecta_mysql();

	$sql = " SELECT * FROM pedido ORDER BY data_pedido DESC ";

	$resultado_id = mysqli_query($link, $sql);

	if($resultado_id){

		while($registro = mysqli_fetch_array($resultado_id, MYSQLI_ASSOC)){			
			echo "<tr>";
				echo '<td> '.$registro['id_pedido'].' </td>';
				echo '<td> '.$registro['nme_usuario'].' </td>';
				echo '<td> '.$registro['data_pedido'].' </td>';
				echo '<td> '.$registro['vlr_pedido'].' </td>';
				echo '<td> '.$registro['dsc_pedido'].' </td>';
				echo '<td> <button class="btn btn-warning" id="btn_excluir_pedido" data-id_pedido='.$registro['id_pedido'].'>Excluir</button> <button class="btn btn-info">Alterar</button></td>';
			echo "</tr>";			
		}

	} else {
		echo 'Erro na consulta de tweets no banco de dados!';
	}

?>


excluir_pedidos.php
<?php

	require_once('../config/db.class.php');

	$excluir_id_pedido = $_POST['excluir_id_pedido'];

	if($excluir_id_pedido == ''){
		die();
	}

	$objDb = new db();
	$link = $objDb->conecta_mysql();
	
	$sql = " DELETE FROM pedido WHERE id_pedido = $excluir_id_pedido ";

	mysqli_query($link, $sql);

?>
Rômulo Junges

Rômulo Junges

Responder

Posts

26/06/2017

Estevão Dias

Olá Rômulo, tudo bem?

Eu consigo ver que você captura o data-id_pedido na linha a seguir:

var id_pedido = $(this).data('id_pedido');


Mas não consegui ver na página HTML um elemento que contenha o atributo data-id_pedido. Pode verificar se é essa a diferença entre as páginas de incluir e excluir?

Temos um exemplo bacana aqui na DevMedia que explica como trabalhar com Data Attributes, dá uma olhada lá (y)

https://www.devmedia.com.br/curso/curso-html5-data-attributes/2007

Um abraço.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar