Ola gente to com um problemão tenho aki um script que eu fiz em array, e não sei como fuinciona muito bem, fui fazendo a base de erros e acertos, mais ainda não entendo a logica, bem mais primeiro...
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:
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.
sei la o que ta acontcendo alguém pode me ajudar se precisarem ver o script inteiro eu mostro ele funcionando.
há outra coisa estou tentando acompanhar meus tópicos por email mais não chega nada pra mim
bem mais isso é de menos, preciso de ajuda urgente!!
Pergunta
Jota Miler
Ola gente to com um problemão tenho aki um script que eu fiz em array, e não sei como fuinciona muito bem, fui fazendo a base de erros e acertos, mais ainda não entendo a logica, bem mais primeiro...
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.
sei la o que ta acontcendo alguém pode me ajudar se precisarem ver o script inteiro eu mostro ele funcionando.
há outra coisa estou tentando acompanhar meus tópicos por email mais não chega nada pra mim
bem mais isso é de menos, preciso de ajuda urgente!!
Editado por Jota MilerLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.