nunolevezinho Posted June 26, 2012 Report Share Posted June 26, 2012 Olá tenho uma tabela que tem dados de varias compras de utilizadores. Pretendo que quando clique em alterar o estado da compra mude para 0 ou 1 conforme o que quero. O meu problema está ao clicar no botao alterar ele altera sempre o que está no fim da tabela :/ (no meu caso é sempre o 29 (irrelevante)) Ex: <?php if($_POST['alter_creditos']) { $teste=$_POST['id_campo']; //mysql_query("UPDATE comprar_creditos SET cr_estado='1' WHERE cr_id='$teste'") or die(mysql_error()); //mysql_query("UPDATE utilizadores SET creditos='$creditos' WHERE id='$id_util' "); //header('location: creditos_utilizadores.php'); ?> <script language="javascript"> alert('<? echo"ID Compra: $teste"; ?>'); </script> <? } ?> <!-- A Tabela em si.. --> <td width="40" align="center" bgcolor="#FFFFFF"><strong>Nome</strong></td> <td width="67" align="center" bgcolor="#FFFFFF"><strong>Créditos</strong></td> <td width="67" align="center" bgcolor="#FFFFFF"><strong>Em espera</strong></td> </tr> <?php while($rows=mysql_fetch_array($result)){ $id_util=$rows['cr_id_user']; $creditos = $rows['cr_creditos_a_comprar']; ?> <tr> <td bgcolor="#FFFFFF" align="center"><? echo $rows['cr_nome_user']; ?></td> <td bgcolor="#FFFFFF" align="center"><? echo $rows['cr_creditos_a_comprar']; ?></td> <td bgcolor="#FFFFFF" align="center"><input type="hidden" name="campo_id" value="<?php echo $rows['cr_id']; ?>" /><input type="submit" value="Alterar: <?php echo $rows['cr_id']; ?>" name="alter_creditos"/></td> </tr> <?php } ?> O Output do Browser é algo como: <form name="form1" method="post" action="gerir-creditos.php"> <table width="400" border="0" cellspacing="1" cellpadding="0"> <tr> <td> <table width="577" border="0" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC"> <tr> <td width="20" bgcolor="#FFFFFF"> </td> <td colspan="8" bgcolor="#FFFFFF"><strong>Créditos dos Utilizadores</strong></td> </tr> <tr> <td width="40" align="center" bgcolor="#FFFFFF"><strong>Nome</strong></td> <td width="67" align="center" bgcolor="#FFFFFF"><strong>Créditos</strong></td> <td width="67" align="center" bgcolor="#FFFFFF"><strong>Em espera</strong></td> </tr> <tr> <td bgcolor="#FFFFFF" align="center">admin</td> <td bgcolor="#FFFFFF" align="center">1000</td> <td bgcolor="#FFFFFF" align="center"><input type="hidden" name="id_campo" value="3" /><input type="submit" value="Alterar: 3" name="alter_creditos"/></td> </tr> <tr> <td bgcolor="#FFFFFF" align="center">1</td> <td bgcolor="#FFFFFF" align="center">60</td> <td bgcolor="#FFFFFF" align="center"><input type="hidden" name="id_campo" value="13" /><input type="submit" value="Alterar: 13" name="alter_creditos"/></td> </tr> <tr> <td bgcolor="#FFFFFF" align="center">1</td> <td bgcolor="#FFFFFF" align="center">17</td> <td bgcolor="#FFFFFF" align="center"><input type="hidden" name="id_campo" value="14" /><input type="submit" value="Alterar: 14" name="alter_creditos"/></td> </tr> <tr> <td bgcolor="#FFFFFF" align="center">admin</td> <td bgcolor="#FFFFFF" align="center">1000</td> <td bgcolor="#FFFFFF" align="center"><input type="hidden" name="id_campo" value="29" /><input type="submit" value="Alterar: 29" name="alter_creditos"/></td> </tr> <tr> <td colspan="8" align="center" bgcolor="#FFFFFF"> </td> </tr> </table> </form> </td> </tr> </table> Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted June 26, 2012 Report Share Posted June 26, 2012 estás a ver que tens n elementos com o argumento name="alter_creditos" ... o que acontece é que o browser (isto agora depende do browser) escolhe um e envia o valor ... no teu caso o último. agora, pode - por javascript alterar o valor de um input escondido (hidden) - teres um form para cada linha da tabela - etc ... - etc ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
nunolevezinho Posted June 26, 2012 Author Report Share Posted June 26, 2012 (edited) Hmm obrigado. Optei por fazer um form para cada linha. Não sei se é a melhor opção mas por enquanto está bom. Podem Fechar. Edited June 26, 2012 by nunolevezinho Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now