nunolevezinho Posted June 26, 2012 at 02:08 PM Report Share #465622 Posted June 26, 2012 at 02:08 PM 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 at 02:13 PM Report Share #465626 Posted June 26, 2012 at 02:13 PM 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 at 02:16 PM Author Report Share #465630 Posted June 26, 2012 at 02:16 PM (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 at 11:40 PM 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