Ir para conteúdo

POWERED BY:

Arquivado

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

cahm88

Problema pra somar o segundo registro vindo do banco

Recommended Posts

Tenho esse script onde eu criei o for para aparecer todos os registro contido na table produto
e o cliente clica a quantidade desejada e envia para o banco o primeiro item
Porem o segundo registro de produto nao faz a mutilipcacao e ainda se vc digitar na quantidade no primeiro registro.
o resultado do primeiro aparece em todos os outros produtos.
*** como fazer cada um se mutiplicar e aparecer seu resultado. ***
<?php
public function listarProduto($sql){
$total = $this->totalRegistros($sql);
for($j=0;$j<$total_prod;$j++){
$this-> verTudo($sql,$j);
$sqlRegistro = "SELECT * FROM produto WHERE id='$id'";
$result = mysql_query($sqlRegistro);
$idProduto = mysql_result($result, 0, "idProduto");
$idNomeProduto = mysql_result($result, 0, "idNomeProduto");
$valor = mysql_result($result, 0, "valor");
$action = "op/opcadastro.php";
echo "
<script>
$(document).ready(function(){
$('#valor, #qtde').click(function(){
var valor = $('input[name=valor]').val();
var qtde = $('#qtde').val();
if(valor == '') valor = 0;
if(qtde == '') qtde = 0;
var result = ((valor) * (qtde)).toFixed(2);
$('.resultado').html(result.replace('.',',').replace(/(\d)(?=(\d{3})+\,)/g, '$1.'));
});
});
</script>
<table border='1' cellpadding='0' cellspacing='0' id='tabela'>
<tr><td>Nome do Produto</td>
<td>$idNome</td>
</tr>
<tr><td>Quantidade</td>
<td><input type='number' id='qtde' name='qtde'></td>
</tr>
<tr><td>Valor</td>
<td><input type='hidden' id='qtde' name='qtde'> $valor</td>
</tr>
<tr><td>Resultado</td>
<td><span class='resultado'></span></td>
</tr>
<tr><td colspan='2'>
<form action='$action' method='post' enctype='multipart/form-data'>
<input type='hidden' name='idProduto' value='$idProduto'/>
<input type='hidden' name='qtde' value='$qtde'/>
<input type='hidden' name='valor' value='$valor'/>
<input type='hidden' name=acao value='INSERIR' />
<input type='submit' value='Adicionar à Lista'>
</form></td></tr>
</table>";
}
}

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso ele ja faz. so que se o banco mostrair mais de um produto o segundo ele nao multiplica e ainda se vc clicar naq qtde do primeiro produto o resultado sai no primeiro e no segundo entedeu???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vendo o valor do PRODUTO 1 qdo vc munda a quantidade do PRODUTO 1 o resultado altera em todos

se eu mudar a quantidade do PRODUTO 2 nao altera e mantem o resultado do PRODUTO 1

isso em todas as tabelas

 

ja tentei colocar no codigo JQUERY $('input[name=qdte[]') ou $('#resultado[]') e tb nao deu certo

12799207_1256974990984441_25158960963100

Compartilhar este post


Link para o post
Compartilhar em outros sites

Queria te ajuda mais te fala a verdade nao entedir a logica deixa pra proxima acho que seria mais facil tu criar um carrinho de compras em jquery.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara... Vamos por partes.

 

Tem um botão super maneiro aqui no editor da mensagem chamado 'Code' ela deixa tudo mais legível.

 

O valor está se repetindo pois sua tag name="" está fixa em todos os produtos.

 

 

Vou te dar um exemplo para ficar mais claro para você: como se pode passar dinamicamente as coisas em html.

 

 

index.html :

<form action="recebe.php" method="post">
	<p>Produto 1</p>
	<input type="text" name="nome[]"/>
	
	<p>Produto 2</p>
	<input type="text" name="nome[]"/>
	
	<p>Produto 3</p>
	<input type="text" name="nome[]"/>
	<br />
	
	<input type="submit" value="Enviar" />
</form>

recebe.php:

<?php

print_r($_POST);
/* Vai produzir
Array
(
    [nome] => Array
        (
            [0] => Olha
            [1] => Que legal
            [2] => Dinamico!!!
        )

)
//Ok já sabemos como fazer dinamicamente
*/
//se quizer acessar dinamicamente é assim:
foreach($_POST['nome'] as $nm) {
  echo $nm;
}

Agora você deve estar se perguntando .... "Poww mas preciso vincular o registro com id"

 

Calma cara é só fazer assim

<input type="text" name="nome[1]"/>

E pra acessar a mesma coisa $_POST['nome'][1]

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.