sou novo neste forum, migrei pra k pq participava de outro forum, mas no que eu participava niguem respondia nada com nada direito, pois bem espero que possam me ajudar.
tenho um formulario que busca alguns dados do db e adicionei um checkbox com o nome de refere[]
que seria a referencia do produto,
outro com o valor e nome e etc segue o formulario abaixo:
<form name="form1" method="post" action="index1.php?pg=pedido&acao=incluir"> <? for($i=0; $i<=$tr; $i++) { $linha = mysql_fetch_array($consulta) ?> <table width="95%" align="center" cellpadding="0" cellspacing="0" bgcolor="#<?echo (($i%2)?"FFFFFF":"7FB2E5");?>" class=cenb> <tr bgcolor="#<? echo (($i%2)?"FFFFFF":"7FB2E5"); ?>"> <td width="151" align="center" valign="middle" class=topa><br> <a href="../fotos/produtos/<? echo $linha['imagem'];?>" rel="gb_imageset[nice_pics]"><img src="../fotos/produtos/<? echo $linha['imagem'];?>" width="120" border="0" title="<?php echo $linha['titulo_pct']; ?> - Clique para AMPLIAR"></a><br> </td> <td width="589" colspan="2" align="center" class=topa><table width="100%" align="left" cellpadding="0" cellspacing="0"> <tr bgcolor="#<? echo (($i%2)?"FFFFFF":"7FB2E5"); ?>" class="cenb"> <td width="192" height="26" align="center" class=topa> <div align="right"> <font color="#CC0000" size="2" face="Arial, Helvetica, sans-serif">Código ::</font></div></td> <td width="289" align="left" valign="baseline" class=topa><div align="left"></div> <strong><font color="#000000" size="1" face="Arial, Helvetica, sans-serif"><?php echo $linha['ref']; ?></font></strong> </td> <td colspan="2" align="right" valign="baseline" class=topa> <div align="center"> <input type="checkbox" name="refere[]" value="<?php echo $linha['ref'] ?>"> </div></td> </tr> <tr bgcolor="#<?echo (($i%2)?"FFFFFF":"7FB2E5");?>" class="cenb"> <td align="right" valign="top" class=topa><font color="#CC0000" size="2" face="Arial, Helvetica, sans-serif">Nome do Produto::</font></td> <td align="left" valign="top" class=topa_tit><strong><font color="#000000" size="1" face="Arial, Helvetica, sans-serif"> <?php echo $linha['titulo_pct']; ?></font></strong></td> <td width="50" align="left" valign="baseline" class=topa_tit><div align="right"><font color="#FF6600" size="3">Qtd::</font></div></td> <td width="60" align="left" valign="top" class=topa_tit><input name="quant[]" type="text" size="5" value="1" class=""></td> </tr> <tr bgcolor="#<?echo (($i%2)?"FFFFFF":"7FB2E5");?>" class="cenb"> <td align="right" valign="top" class=topa><font color="#CC0000" size="2" face="Arial, Helvetica, sans-serif">Descrição do produto::</font></td> <td colspan="3" rowspan="2" align="left" valign="top" class=topa_tit><strong><font color="#000000" size="1" face="Arial, Helvetica, sans-serif"> <?php echo $linha['descricao']; ?></font></strong></td> </tr> <tr bgcolor="#<?echo (($i%2)?"FFFFFF":"7FB2E5");?>" class="cenb"> <td align="right" valign="top" class=topa><input type="hidden" name="nome[]" value="<?php echo $linha['titulo_pct'] ?>"> <input type="hidden" name="valor[]" value="<?php echo $linha['valor_pct']?>"></td> </tr> <tr bgcolor="#<?echo (($i%2)?"FFFFFF":"7FB2E5");?>" class="cenb"> <td align="right" valign="top" class=topa><font color="#FF0000" size="2" face="Arial, Helvetica, sans-serif">Valor::</font></td> <td colspan="3" align="left" valign="top" class=topa_tit><font color="#FF0000" size="2" face="Arial, Helvetica, sans-serif"><strong>R$: </strong></font><strong><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><?php echo $linha['valor_pct']; ?></font></strong></td> </tr> </table></td> </tr> <tr> <td class=topa colspan="3" align="center"> </td> </tr> <tr> <td colspan="3" align="center" class=topa> </td> </tr> </table> <? }} ?> <table width="100" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td><div align="center"> <input type="submit" name="Submit" value="Adicionar"> </div></td> </tr> </table> <p> </p></form>
bem ... esses dados do formulario são recebidos com este script abaixo que faz o seguinte: pega os produtos que você ticou no checkbox juntamente coma quantidade que você quer e adiciona em um banco de dados, com os seguintes parametros, se o produto já estiver no banco de dados com a id do usuario ele adiciona a nova quantidade. se não estiver ainda no db ele adiciona mais um item.
segue o codigo abaixo:
<? require_once "conexao.php"; if($acao=='incluir') { if($refere=="") { echo "<script>window.alert(\"Nenhum produto foi selecionado!\");</script>"; echo "<script>window.location='java script:history.back(1)'</script>"; } else { for ($indice=0;$indice<count($refere);$indice++) { $refe=$refere[$indice]; echo "$refe -- ".$quant[$indice]." <br>"; if($refere=="") { echo "<script>window.alert(\"Nenhum produto foi selecionado!\");</script>"; echo "<script>window.location='java script:history.back(1)'</script>"; } $a=ereg_replace(",",".",$valor[$indice]); $b=$quant[$indice]; $soma=$a*$b; $Vtot=$soma; $Vunit=$valor[$indice]; $produto=$nome[$indice]; $qtd=$quant[$indice]; $teste = "Select count(*) as soma from carrinho WHERE id_repres='$idrepre' and ref='$refe'" or trigger_error('Erro linha 224 = ' . mysql_error()); $teste2 = mysql_query($teste); $comp = mysql_result($teste2,0,"soma"); //verifica o produto já existe na tabela carrinho if($comp==0) //se não existir, insere um novo produto { $sql="INSERT INTO carrinho VALUES ('','$idrepre','$refe','$qtd','$produto','$Vunit','$Vtot')" or trigger_error('Erro linha 229 = ' . mysql_error()); $ss=mysql_query($sql); } else { $consulta_ref="SELECT * FROM carrinho WHERE id_repres='$idrepre' and ref='$refe'" or die (mysql_error()); $result_ref=mysql_query($consulta_ref) or die (mysql_error()); $reg_ref=mysql_fetch_array($result_ref) or die (mysql_error()); $qtd_ref=$reg_ref['qtd']; $val_ref=$reg_ref['Vtot']; $quantia=($qtd_ref+$qtd); $valor_total=($val_ref+$soma); $vtotal=$valor_total; $tabela="UPDATE carrinho SET qtd='$quantia' , Vtot='$vtotal' WHERE id_repres='$idrepre' and ref='$refe'" or die (mysql_error()); $qry_tabela=mysql_query($tabela) or die (mysql_error()); } } if($ss!==0) { echo "<script>window.alert(\"Produtos adicionados com sucesso\");</script>"; } }} ?>
bem o meu problema é o seguinte se eu ticar o primeiro produto da lista ... beleza
se eu ticar o 1º,2º,3º beleza, mais se eu pular a ordem e não ticar o 1º e ticar o 2º ou mesmo quaquer outro ele pega a quantidade do primeiro da lista (que seria value=1) mesmo sem eu ter ticado.
se eu selecionar mais de um item por ex:
seleciono o 2º e o 4º
no 2º ele pega os valores do primeiro sem que eu tenha ticado
e o 4º ele vai normal.
se alguém não esta intendendo nada do que eu expliquei, entre em http://provisorio.av...testes/fiorella
entre com
login: repres
senha:senha
e va em produtos e depois tente criar um pedido deletando produto inserindo de novo, etc. primeiramente tente colocar os 3 primeiros produtos que já estão com preço, ai tente deletar e colocar novamente, etc.
ATENÇÃO: testem somente com o 3 primeiros produtos porque são os unicos que estão com preço, se colocarem os outros não vai adiantar nada, por causa que estão sem os valores de preço.
vai la galera me ajudem por favor
Edição feita por: JOTA MILER, 11/08/2010, 23:24.