Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal bom dia, estou com um projeto onde preciso puxar os produtos do banco e ir inserindo no orçamento sem a necessidade de dar refresh na pagina. Hoje meu sistema de orçamento uso session onde preciso sair da pagina para buscar o produto. Pesquisando na internet achei o autocomplete que atende a primeira parte do meu projeto, onde eu busco as informações de acordo que vou digitando a unica duvida no autocomplete e ir digitando o nome e ele alem de aparecer o nome se tem como eu trazer o id do produto?
Minha duvida maior e como adicionar esse produto a session sem dar o refresh.
Hoje eu chamo o link:
<a href="insereproduto.php?add='.$vetor['id_produto'].'">Adcionar</a>
e depois recebo ele:
>
<?php if(isset($_GET['add'])){
$_SESSION['produtos_'.$_GET['add']] += '1';
echo "
<script type=\"text/javascript\">
alert(\"Produto adcionado com Sucesso!\");
</script>
";
}
$_SESSION['forma'] = $forma;
?>
mais ele sai e entra na pagina e queria algo sem refresh.
Basicamente você precisa utilizar o Loop de exibição do seus produtos....
A ideia é ao listar os seus produtos possibilitar o usuario clicar...
'Estaticamente ficaria algo assim:'
<button onclick='insereproduto(1);'> Adicionar Ao Carrinho</button> - Notebook <br />
<button onclick='insereproduto(2);'> Adicionar Ao Carrinho</button> - Desktop <br />
<button onclick='insereproduto(3);'> Adicionar Ao Carrinho</button> - Desktop (GAMER)<br />
Abaixo um exemplo mais completo...
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php
//Equivalente ao retorno do DB (SELEC id, nome FROM produtos)
$produtos = array(
array(
'id' => 1
,'nome' => 'Notebook'
)
,array(
'id' => 2
,'nome' => 'Desktop'
)
,array(
'id' => 3
,'nome' => 'Desktop (GAMER)'
)
);
//Durante o seu Loop você vai adicionar o JS abaixo para que durante o evento 'onclick' do JS, que dispara um ajax.
foreach($produtos as $produto){
echo "<button onclick='insereproduto(". $produto['id'] .");'> Adicionar Ao Carrinho</button> - " . $produto['nome'] . "<br />";
}
?>
<script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
<script type="text/javascript">
function insereproduto(id){
$.ajax({
url: 'insereproduto.php?add=' + id
//,data: {name: '132', email: 'test@teste.com'} //Caso utilize o type method POST, pode passar parametros de boa
,type:'GET'
,dataType: 'json'
,success: function(json){
console.log(json);
}
,error: function(json){
console.log(json);
}
});
}
</script>
</body>
</html>Tem um post meu explicando mais sobre ajax utilizando conceitos de jQuery.
https://github.com/gabrieldarezzo/desafiosInternos/tree/master/ajax
Seria com Ajax