Tamboréu 0 Denunciar post Postado Setembro 1, 2009 é só pegar o ID de cada um e jogar no array, utilize foreach para correr os campos e atualizar os registros. Amigos Estou tendo a mesma dificuldade para atualizar vários regisytros de uma única vez. O meu problema é bem simples, mas não consigo solucioná-lo. Se vcs puderem mi ajudar, vamos a ele: 1) Quero atualizar a pontuacao do ranking de vários atletas de uma única só vez. Logo, criei uma página - modificar_ranking.php - e inseri um form que contém a listagem de todos os atletas (seu código) + outro form para digitar a pontuação. O código seria esse: <tr> <td>ATLETA 01</td> <td> <input type="text" name="nova_pontuacao[]" maxlength="5" value="000"> pts</td> <input type="hidden" name="codigo_atleta[]" value="353"> </tr> <tr> <td>ATLETA 02</td> <td> <input type="text" name="nova_pontuacao[]" maxlength="5" value="000"> pts</td> <input type="hidden" name="codigo_atleta[]" value="354"> </tr> <tr> <td>ATLETA 03</td> <td> <input type="text" name="nova_pontuacao[]" maxlength="5" value="000"> pts</td> <input type="hidden" name="codigo_atleta[]" value="355"> </tr> E ASSIM POR DIANTE ... Na página que grava as modificações - chamada de modificar_ranking_db.php - é que está o meu problema. O código que estou usando para gravar é esse, mas NÃO GRAVA. foreach($nova_pontuacao as $indice1 =>$valor_nova_pontuacao){ $result=mysql_query(" UPDATE atletas SET ranking_2009='$valor_nova_pontuacao' WHERE codigo='$codigo_atleta'") || die("1 - Ranking não modificado. Favor efetuar a modificação novamente"); } echo " <center> <br> <font class=\"sucesso\">Ranking modificado com sucesso!</font> <br><br> <a href=\"adm/ranking/\">voltar</a> </center> "; Imagino (e tenho quase certeza) que o problema está no "WHERE". Teria que fazer um loop (com foreach) tb no "codigo_atleta". Mas como fazer isso, haja vista que já tem um foreach no "nova pontuação"??? Agradeço a ajuda de vocês, afinal estou há uns 20 dias tentando achar uma solução, mas sem sucesso. Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Setembro 1, 2009 Tamboréu, seja bem vindo ao fórum. Quando tiver dúvidas, crie um tópico específico para elas. Tópico dividido Sobre a sua dúvida, eu mudaria o form e faria tudo com um foreach só. Assim. <input type="text" name="nova_pontuacao[<?php echo $codigo_atleta?>]" maxlength="5" value="000"> pts</td> O que você vai ter na página que recebe os dados deste form? Um array onde o índice é o código do atleta e o valor é o valor digitado. Aí no foreach você faz assim. foreach($nova_pontuacao as $indice1 =>$valor_nova_pontuacao){ $result=mysql_query(" UPDATE atletas SET ranking_2009='$valor_nova_pontuacao' WHERE codigo='$indice1'") || die("1 - Ranking não modificado. Favor efetuar a modificação novamente"); } Deve funcionar Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Tamboréu 0 Denunciar post Postado Setembro 1, 2009 Grande Carlos Eduardo Fiz essas pequenas, MAS IMPORTANTES, alterações que você me enviu e DEU CERTO! Meu amigo, não tenho como lhe agradecer pela imensa ajuda que você me deu. Agradeço, ainda, pela criação de um novo tópico. Desculpa pela minha postagem no tópico errado. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Setembro 1, 2009 Beleza. Que bom que resolveu. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites