Carrinho de Compras em PHP

Bom dia, estou tentando fazer uma tela de pedido, uma espécie de carrinho de compras, o cliente pede o produto e eu vou adicionando na lista, essa lista vai fazendo a soma dos valores de cada produto, mas não consigo achar um bom exemplo de como fazer em lugar algum, alguém poderia me ajudar ?

Sempre ouvi falar muito bem desse curso.

1 curtida

Talvez você possam usar um javascript reativo (Vue, Angular ou React) ou trabalhar com requisição Ajax com JQuery + $_SESSION em PHP.

Você tem alguma idéia de como poderia ser melhor pra você?

1 curtida

Vou dar uma olhada amigão

Então, eu vinha tentando fazer usando Ajax com JQuery + $_SESSION em PHP.
Porém não estava conseguindo

Tem o código?

Eu apaguei, optei por criar um do zero

Um exemplo bem básico:

Código PHP

<?php
	session_start();

	function add_item_nome() 
	{
		$nome = filter_input(INPUT_POST, 'nome');
		if ($nome) 
		{
			$_SESSION['carrinho'][]['nome'] = $nome;
		}
	}
	
	function list_item_nome() 
	{		
		return isset($_SESSION['carrinho']) 
				? json_encode($_SESSION['carrinho'])
				: json_encode([]);
	}

	switch($_SERVER['REQUEST_METHOD'])
	{
		case 'POST': {
			add_item_nome();
			echo 1;
			break;
		}
		case 'GET': {
			echo list_item_nome();
			break;
		}
	}

Código Html que vai mostrar um lista de nomes:

<!DOCTYPE html>
<html>
<head>
	<title>Carrinho e Compra</title>
</head>
<body>
	<input type="text" name="nome" id="nome" />	
	<button type="button" onclick="add()">Adicionar</button>
	<div>
		<ul id="items"></ul>
	</div>
	<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
	<script>
		function add() {
			const nome = $('#nome').val();
			$.post('car.php', {'nome': nome}, function(data){
				if (data) listar();
			});
		}
		function listar() {			
			$.getJSON("car.php", function(data) {			  
			  	listar_items(data);
			});		
			
		}
		function listar_items(data) {			
			$('#items').html('');
			item = '';
			$.each(data, function( key, val ) {
			    item = item + "<li id='" + key +"'>" + val.nome + "</li>";			    		    
			});			  
			$('#items').html(item);
		}
		$(document).ready(function(){
			listar();
		});
	</script>
</body>
</html>

Resultado:

carrinho

Observação: não fiz validação nenhuma, o que eu foquei no funcionamento básico !

Como não tem o seu código fica complicado chegar na sua realidade, mas, isso pode ajudar a entender

1 curtida

Muito obrigado parceiro, você teria essa página car.php ?

Está aí respondido … Código PHP

1 curtida

Seu código me ajudou, obrigado!

1 curtida