Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Vitor Cazelatto

Atualizar Valor de string PHP com AJAX/JS

Recommended Posts

Estou fazendo um carrinho de compras e preciso que quando a pessoa alterasse a quantidade do produto, seu sub total e total, alterassem automaticamente!

 

Gera os produtos na tabela, que estão na $_SESSION['carrinho']

<?php

if (count($_SESSION['carrinho']) == 0) {
    echo "<tr><td colspan=\"5\">Não há produtos no carrinho</td></tr>";
} else {
    require_once 'connect.php';
    $i = new Connect();
    if ($i->getConnection()) {
        $PTOTAL = 0;
        foreach ($_SESSION['carrinho'] as $id => $qtd) {
            $result = $i->execute("SELECT * FROM produtos WHERE id='" . $id . "';");
            $assoc = mysql_fetch_assoc($result);

            $id = $assoc['id'];
            $PNOME = $assoc['nome'];
            $PIMG = $assoc['imagem'];
            $PVALOR = $assoc['valor'];
            $PSUB = $PVALOR * $qtd;
            $PTOTAL += $PSUB;

            $len = strlen($PIMG);
            $nPIMG = substr($PIMG, 3, $len);

            echo "<tr>";
            echo "<td>
                                                    <img src=\"$nPIMG\" class=\"img-responsive alignleft\" width=\"65\" alt=\"\">
                                                    <a class=\"cart_title\" href=\"#\">$PNOME</a>
                                                 </td>";
            echo "<td><a href=\"#\" class=\"price\">R$" . $PVALOR . "</a></td>";
            echo "<td><input id=\"prod\" onkeypress='return SomenteNumero(event)' type=\"text\" size=\"3\" name=\"prod[" . $id . "]\" value=\"$qtd\" data-id=\"$id\" data-valor=\"$PVALOR\"</td>";
            echo "<td id=\"subtotal\" class=\"price2\">R$" . $PSUB . "</td>";
            echo "<td><a href=\"?acao=del&id=$id\" class=\"remove\" title=\"Remover este item\"></a></td>";
            echo "</tr>";
        }
    }
}
?>

Exibe o total fora da tabela:

<div class="col-md-6">
    <div class="title">
        <h2>Total</h2>
    </div>
    <div class="box">
        <span class="pull-left">Total</span>
        <span class="pull-right"><?php echo "R$" . $PTOTAL; ?></span>
        <br>
    </div>
</div>

Valeeeu!

OBS: Não tenho muita noção com js/ajax

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poderias fazer essas variações todas na tela do usuario usando java script (inclusive o calculo final) e armazenalas no php quando ele clica em "próximo passo",
se queres usar o ajax para armazenar instantaneamente, podes usar o metodo post do jquery que facilita bastante a vida
http://api.jquery.com/jquery.post/
ou sequiseres fazer totalmente no braço

o w3schools.com ensina o passo a passo

http://www.w3schools.com/ajax/default.asp

uma dica para o codigo ficar melhor e ser mais facil de fazer

 <?php
echo '<td><a href="#" class="price">R$ "'.$PVALOR .'"</a></td>"';
?>

já que vc costuma concatenar as variaveis, usa aspas simpes para separar as string

assim vc tem um maior desempenho e não precisa colocar \ (barra invertida) antes de toda " (aspas dupla).

 

espero der dado uma luz :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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