Criar filtro em checkbox usando ajax, jaquery, javascript
Boa noite, preciso fazer um filtro parecido com o site do submarinho,
no checkbox usando AJAX, JQUERY, mas nao estou conseguindo!!
nao tenho certeza se fiz certo, pois tenho uma tabela chamada produtos que listam normal, outra tabela chamda catdesc ('categoria de desconto') ai esta linkado com a tabela produtos, na tabela catdesc tem os seguinte campos
onde id_desc é auto increment da tabela o campo desconto seria o desconto que receberia os produtos, o campo id\-prod é chave estrangeira para tabela produtos, quando se cadastra produto n a tabela produtos os dados referente guardam aqui para fazer o filtro depois, nao sei se esta certo!!!!???
fiz assim para pegar os d=valores dos campos da tabela catdesc
filtro.php
<div class="box filtro">
<p>Descontos</p>
<div id="checkbox">
<?php
include '../produtos_teste/model/conn.php';
//include '../produtos_teste/controller/checkBox.php';
$pesquisa = mysqli_query ( $conn, "select DISTINCT d.desconto from catdesc d, produtos p where d.id_prod = p.id" );
while ( $categorias = mysqli_fetch_object ( $pesquisa ) ) :
echo "
<section class='categoria'>
<input type='checkbox' class='checks' name='cat[]' value='' /> R$ $categorias->desconto
</section>
";
endwhile;
// value='$categorias->id_desc' // input checbox ?>
</div>
</div>
checkbox.php
<?php
/**
* Created by PhpStorm.
* User: jwaquim
* Date: 15/03/2018
* Time: 17:19
*/
include 'conn.php';
//Insere o arquivo de conexão com o BD
//Recebe os valores dos checkbox em forma de array
$where = $_REQUEST;
/*A função sizeof() retorna um valor inteiro.
* 0 se estiver vazio
* 1 se tiver pelo menos um dado.
*
*/
if (sizeof($where)) :
$categoriaId = implode("' OR id_desc='", $where['cat']);
$sql = "SELECT
p.marca, p.descricao, p.foto
d.desconto
FROM produtos p
INNER JOIN catdesc d
ON d.id_prod = p.id
WHERE p.id='" . $categoriaId . "' ";else :
$sql = "SELECT
p.marca, p.descricao, p.foto
d.desconto
FROM produtos p
INNER JOIN catdesc d
ON d.id_prod = p.id ";
endif;
$query = mysqli_query($conn, $sql);
while ($filtro = mysqli_fetch_object($query)) :
echo "<p>$filtro->marca - $filtro->foto</p>";
endwhile;
da erro na linha 43 eesa linha while ($filtro = mysqli_fetch_object($query)) :
no index fiz isso
<script>
$(document).ready(function() {
//variavel que recebe os checkbox
var check = $(".categoria input:checkbox");
var msg = $("#card");
//evento de change
check.on("change", function(e) { //abertura da função on()
//previne erros
e.preventDefault();
//função ajax()
$.ajax({
url : "controller/checkbox.php",
type : "POST",
dataType : "html",
data : $('.checks:checked').serialize()
}).done(function(data) {
msg.html(data);
})
});// finaliza a função on()
});
</script>
<script src=" http://code.jquery.com/jquery-2.1.1.min.js"></script>
como posso fazer certo? peço a juda a todos que poderem ajudar!!!Discussão (1)
Carregando comentários...