marcosfg 0 Denunciar post Postado Novembro 25, 2009 Boa tarde, galera preciso da seguinte ajuda, eu desenvolvi um site para um professor de Tênis, desenvolvi um código para ele mesmo atualizar o ranking, fiz em PHP com MySQL, esta funcionando o cadastro, a alteração e a exclussão, só que o problema é que eu não estou conseguindo fazer com que quando ele mudar uma posição de um aluno os demais mude automatico, vamos supor um aluno esta na 8ª posição e ele foi para a 2ª posição, dai quem estava na 2ª posição vai para a 3ª e quem estava na 3ª vai para a 4ª e assim sucessivamente, alguém ai poderia me ajuda para fazer esse programinha? por favor, desde já agradeço muito. Compartilhar este post Link para o post Compartilhar em outros sites
Tulin 0 Denunciar post Postado Novembro 25, 2009 você explicou de uma forma complicada.. voce tem no banco de dados o ranking, e criou uma pagina para o professor poder alterar o ranking certo ? como esta esta pagina ? poste como você esta fazendo para podermos ver o erro, mas de qualquer forma , tente colocar no seu select que mostra na tela o ranking no fim dele 1 Order by (numero do campo posicao no rank) ; que ele organiza a tabela do menor pro maior. Compartilhar este post Link para o post Compartilhar em outros sites
marcosfg 0 Denunciar post Postado Novembro 25, 2009 Boa noite, desculpe, não sube me expressar bem, vamos começar do zero. Eu fiz um site para um cliente, nesse site desenvolvi um sistema em php com mysql para que ele mesmo possa atualizar o ranking, mais o problema é que ele quer q as posições dos jogadores mude automaticamente quando ele alterar alguma posição, vamos subor tem um jogador que esteja no 8ª lugar esse jogador mudou de posição e foi para o 2ª lugar, é ai que entra o problema, eu preciso fazer um script para que quando ele fazer essa alteração de colocar o jogador que estava na 8ª posição e foi para o 2ª lugar, quem estava na 2ª tem que automaticamente para o 3ª lugar e quem estava no 3ª lugar tem que ir automaticamente para o 4ª lugar e assim sucessivamente. Espero que agora dê para entender, muito obrigado pela atenção o site é http://www.vasamitenis.com.br/listar_principiante.php. Compartilhar este post Link para o post Compartilhar em outros sites
lucasmartins 6 Denunciar post Postado Novembro 25, 2009 Cara, pelo que eu estou entendendo aí é mais ou menos como um campeonato. O certo mesmo, seria você guardar os pontos dos jogadores, ou vitórias, seilah... de alguma forma o professor organiza a posição dos jogadores né, pontos, vitórias, ou seja lá como for... Porque veja, se você guarda a quantidade de vitórias, você pode organizar as posições melhor, sem precisar desse "trambique" todo que você tá querendo... Bom... qlqr coisa é só falar... Compartilhar este post Link para o post Compartilhar em outros sites
Tulin 0 Denunciar post Postado Novembro 26, 2009 marco, você esta fazendo 1 uptade sql no banco não é?sempre que alguem ganha por exemplo você vai e coloca la no numero de vitorias do jogador que ele venceu mais uma, ou que ele ganhou mais pontos ?! e esta fazendo 1 select pra mostrar o ranking não esta ? se você ja estiver atualizando os dados e esta com problema so pra organizar o ranking, seu problema esta no seu sql que lista o ranking. Compartilhar este post Link para o post Compartilhar em outros sites
marcosfg 0 Denunciar post Postado Novembro 26, 2009 galera bom dia, a única coisa que eu quero é que o sistema controle as posições no rankink quando for alterado, é que eu não estou sabendo fazer isso, mais o que eu quero é que quando um jogador estiver na 8ª posição e for para a 2ª posição automaticamente quem estava na 2ª vai para a 3ª e assim por diante. Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Novembro 26, 2009 É só você fazer ordenação dos jogadores por pontos e vitorias(depende da sua tabela)... quem tiver o mais pontos e mais vitorias será o primeiro, e assim vai. Pq o que determina as posições deve ser os pontos neh... imagino eu soh um exemplo select jogadores from tabela order by pontos, vitorias desc Dae a tabela se ordena sozinha. Compartilhar este post Link para o post Compartilhar em outros sites
Tulin 0 Denunciar post Postado Novembro 26, 2009 marco, isso acho que ja entendemos haha mas para ordenar seus resultados é presiso saber como funciona esse ranking ue , fica em primeiro que tem mais vitorias ? é isso ai que o Dee falou, de 1 order by no sql que imprime na tela o ranking é você sera feliz :D Compartilhar este post Link para o post Compartilhar em outros sites
lucasmartins 6 Denunciar post Postado Novembro 26, 2009 Pois é, o que o Tulin e o Dee está tentando dizer, eu também estou. Hauhauhuaha... Mas acho que o marcos não está conseguindo entender a lógica do negócio. Faz o seguinte marcos, nos diz como está sua tabela do ranking... quais os campos que tem? Abraços Compartilhar este post Link para o post Compartilhar em outros sites
marcosfg 0 Denunciar post Postado Novembro 26, 2009 galera olha como é o código que eu fiz para listar o raking: <html> <head> <title>Listar Alunos Principiantes</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head> <body background="http://www.vasamitenis.com.br/fundoRprincipiante.jpg"> <p> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="998" height="222"> <param name="movie" value="topoMenu.swf"> <param name=quality value=high> <embed src="topoMenu.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="998" height="222"></embed> </object> </p> <table border="0" width="998" colspacing="0"> <!--DWLayoutTable--> <tr> <td width="992" height="99" align="center" valign="top"> <br> <br> <font style="tahoma" size=5><b><i> <center> .: Ranking :. </center> </i></b> <br> <? include "bancodedadosvasami.php"; $result = mysql_query("select posicao, nome, academia, professor from principiante order by posicao;",$conexao); $Quantos = mysql_num_rows($result); $i=0; $data = mysql_query("select data from dia;",$conexao); echo '<center><table border="1">'; echo '<tr><td colspan="4"><center><font style="tahoma" size=5>Categoria Principiante</center></td></tr>'; echo '<tr><td colspan="4"><center><font style="tahoma" size=5>Última Atualização: '; echo mysql_result($data,$j,data); for ($j==0; $j<$teste; $j++) { echo mysql_result($data,$j,data); } echo '</center></td></tr>'; echo '<tr><td><center><font style="tahoma" size=5>Posição</center></td>'; echo '<td><center><font style="tahoma" size=5>Nome</center></td>'; echo '<td><center><font style="tahoma" size=5>Academia/Clube</center></td>'; echo '<td><center><font style="tahoma" size=5>Professor<center></td></tr>'; for ($i==0; $i<$Quantos; $i++) { echo '<tr><td><center>'; echo '<font style="tahoma" size=4>'; echo mysql_result($result,$i,posicao); echo 'º</center></td><td>'; echo '<font style="tahoma" size=4>'; echo mysql_result($result,$i,nome); echo '</td><td>'; echo '<font style="tahoma" size=4>'; echo mysql_result($result,$i,academia); echo '</td><td>'; echo '<font style="tahoma" size=4>'; echo mysql_result($result,$i,professor); echo '</td></tr>'; } echo '</table></center>'; ?> </td> </tr> </table> <p><img src="http://www.vasamitenis.com.br/rodape.gif" width="998" height="43"></p> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
lucasmartins 6 Denunciar post Postado Novembro 27, 2009 Marcos... sua tabela (do banco de dados) não está correta... Você não deveria guardar a posição do aluno, mas sim os pontos. por exemplo: [b]Pontos Nome Posição[/b] 600 José 2 400 Maria 3 80 Pedro 4 900 Gustavo 1 Você não teria nem que ter o campo posição na sua tabela... você deveria fazer esse "calculo" depois, com o PHP. Assim, a listagem do ranking vai ficar certinho, pois você poderá organizar por quantidade de pontos... Entendeu? Faz o seguinte, primeiro, mude o nome da tabela... ao invés de posicao, deixe "pontos" ... Faça as alterações nos códigos aí... daí dps eu te ajudo no código para listar o ranking.. abraços Compartilhar este post Link para o post Compartilhar em outros sites
marcosfg 0 Denunciar post Postado Novembro 30, 2009 Lucas muito obrigado, eu entendi, eu vou fazer essas alterações, quando eu terminar eu te falo por aqui, abraço!! Compartilhar este post Link para o post Compartilhar em outros sites
lucasmartins 6 Denunciar post Postado Novembro 30, 2009 Lucas muito obrigado, eu entendi, eu vou fazer essas alterações, quando eu terminar eu te falo por aqui, abraço!! ok ^^ Compartilhar este post Link para o post Compartilhar em outros sites
marcosfg 0 Denunciar post Postado Dezembro 1, 2009 Boa noite, Lucas fiz as alterações, segue abaixo, se possivel tem como você me explica como eu faço para fazer um calculo de um campo do banco de dados? por exemplo tem a pontuação e a nova pontuação eu queria que somasse os dois, deste já agradeço!! <html> <body> <? include "bancodedadosvasami.php"; $novapontuacao = ($novapontuacao + $pontuacao); if ($id) { if ($submit) { $sql = "UPDATE teste SET nome='$nome',academia='$academia',professor='$professor',pontuacao='$pontuacao' WHERE id=$id"; $resultado = mysql_query($sql); echo "Dados atualizados.\n"; echo '<br><br>'; } else { $sql = "SELECT * FROM teste WHERE id=$id"; $resultado = mysql_query($sql); $linha = mysql_fetch_array($resultado); $calculo = $novapontuacao + $pontuacao; ?> <form method="post" action="<?php echo $PHP_SELF?>"> <input type=hidden name="id" value="<?php echo $linha["id"] ?>"> <center><table> <tr><td>Nome:</td><td><input type="Text" name="nome" size="40" maxlength="40" value="<?php echo $linha["nome"] ?>"></td></tr> <tr><td>Academia:</td><td><input type="Text" name="academia" size="40" maxlength="40" value="<?php echo $linha["academia"] ?>"></td></tr> <tr><td>Professor:</td><td><input type="Text" name="professor" size="40" maxlength="40" value="<?php echo $linha["professor"] ?>"></td></tr> <tr><td>Pontuação:</td><td><input type="Text" name="pontuacao" size="4" maxlength="4" value="<?php echo $linha["pontuacao"] ?>"></td></tr> <tr><td>Nova Pontuação:</td><td><input type="Text" name="novapontuacao" size="4" maxlength="4" value="<?php echo $linha["novapontuacao"] ?>"></td></tr> <tr></tr><tr></tr><tr></tr> <tr><td></td><td><input type="Submit" name="submit" value="Atualizar"></td></tr> <tr></tr><tr></tr><tr></tr></table></center> </form> <? } } else { $resultado = mysql_query("SELECT * FROM teste order by pontuacao",$conexao); echo '<table border="1"><tr><td colspan=4><center><b>Alteração da Tabela Ranking Principiantes</b></center></td></tr>'; echo '<tr><td width="60"><center>Pontuação</center></td>'; echo '<td width="300"><center>Nome</center></td>'; echo '<td width="300"><center>Academia</center></td>'; echo '<td width="300"><center>Professor(a)</center></td></tr></table>'; while ($linha = mysql_fetch_array($resultado)) { echo '<center><table border="1"><tr><td width="60"><center>'; printf("<a href=\"%s?id=%s\">%s</a><br>\n", $PHP_SELF, $linha["id"], $linha["pontuacao"]); echo '</td></center><td width="300">'; printf("<a href=\"%s?id=%s\">%s</a><br>\n", $PHP_SELF, $linha["id"], $linha["nome"]); echo '</td><td width="300">'; printf("<a href=\"%s?id=%s\">%s</a><br>\n", $PHP_SELF, $linha["id"], $linha["academia"]); echo '</td><td width="300">'; printf("<a href=\"%s?id=%s\">%s</a><br>\n", $PHP_SELF, $linha["id"], $linha["professor"]); echo '</td></tr></table></center>'; } } ?> <center><table><tr><td></td><td> <a href="admvasami.php">Menu Principal</a> </td></tr></table></center> <br> <br> <br> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
marcosfg 0 Denunciar post Postado Dezembro 3, 2009 fala galera, bom dia, eu conseguir que some pontuacao + novapontuacao, segue o código abaixo, Lucas você disse que iria me ajuda a fazer a parte da Listagem, eu queria que ao invez de aparecer a pontuação, aparecesse a posição do jogador (1º, 2º e assim por diante) você poderia me ajudar como fazer isso? segue o código: <html> <body> <? include "bancodedadosvasami.php"; $novapontuacao = ($novapontuacao + $pontuacao); if ($id) { if ($submit) { //$sql = "UPDATE teste SET nome='$nome',academia='$academia',professor='$professor',pontuacao='$pontuacao' WHERE id=$id"; $sql = "UPDATE principiante SET nome='$nome',academia='$academia',professor='$professor',pontuacao=pontuacao - $pontuacao + $novapontuacao WHERE id=$id"; $resultado = mysql_query($sql); echo "Dados atualizados.\n"; echo '<br><br>'; } else { $sql = "SELECT * FROM principiante WHERE id=$id"; $resultado = mysql_query($sql); $linha = mysql_fetch_array($resultado); //$calculo = $novapontuacao + $pontuacao; ?> <form method="post" action="<?php echo $PHP_SELF?>"> <input type=hidden name="id" value="<?php echo $linha["id"] ?>"> <center><table> <tr><td>Nome:</td><td><input type="Text" name="nome" size="40" maxlength="40" value="<?php echo $linha["nome"] ?>"></td></tr> <tr><td>Academia:</td><td><input type="Text" name="academia" size="40" maxlength="40" value="<?php echo $linha["academia"] ?>"></td></tr> <tr><td>Professor:</td><td><input type="Text" name="professor" size="40" maxlength="40" value="<?php echo $linha["professor"] ?>"></td></tr> <tr><td>Pontuação:</td><td><input type="Text" name="pontuacao" size="4" maxlength="4" value="<?php echo $linha["pontuacao"] ?>"></td></tr> <tr><td>Nova Pontuação:</td><td><input type="Text" name="novapontuacao" size="4" maxlength="4" value="<?php echo $linha["novapontuacao"] ?>"></td></tr> <tr></tr><tr></tr><tr></tr> <tr><td></td><td><input type="Submit" name="submit" value="Atualizar"></td></tr> <tr></tr><tr></tr><tr></tr></table></center> </form> <? } } else { $resultado = mysql_query("SELECT * FROM principiante order by pontuacao desc",$conexao); echo '<table border="1"><tr><td colspan=4><center><b>Alteração da Tabela Ranking Principiantes</b></center></td></tr>'; echo '<tr><td width="60"><center>Pontuação</center></td>'; echo '<td width="300"><center>Nome</center></td>'; echo '<td width="300"><center>Academia</center></td>'; echo '<td width="300"><center>Professor(a)</center></td></tr></table>'; while ($linha = mysql_fetch_array($resultado)) { echo '<center><table border="1"><tr><td width="60"><center>'; printf("<a href=\"%s?id=%s\">%s</a><br>\n", $PHP_SELF, $linha["id"], $linha["pontuacao"]); echo '</td></center><td width="300">'; printf("<a href=\"%s?id=%s\">%s</a><br>\n", $PHP_SELF, $linha["id"], $linha["nome"]); echo '</td><td width="300">'; printf("<a href=\"%s?id=%s\">%s</a><br>\n", $PHP_SELF, $linha["id"], $linha["academia"]); echo '</td><td width="300">'; printf("<a href=\"%s?id=%s\">%s</a><br>\n", $PHP_SELF, $linha["id"], $linha["professor"]); echo '</td></tr></table></center>'; } } ?> <center><table><tr><td></td><td> <a href="admvasami.php">Menu Principal</a> </td></tr></table></center> <br> <br> <br> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
lucasmartins 6 Denunciar post Postado Dezembro 3, 2009 Certo. Veja como ficaria o código, no caso, eu substitui a pontuação pela posição, veja se ficou correto: <? } } else { $posicao = 0; $resultado = mysql_query("SELECT * FROM principiante order by pontuacao asc",$conexao); echo '<table border="1"><tr><td colspan=4><center><b>Alteração da Tabela Ranking Principiantes</b></center></td></tr>'; echo '<tr><td width="60"><center>Posição</center></td>'; echo '<td width="300"><center>Nome</center></td>'; echo '<td width="300"><center>Academia</center></td>'; echo '<td width="300"><center>Professor(a)</center></td></tr></table>'; while ($linha = mysql_fetch_array($resultado)) { $posicao++; echo '<center><table border="1"><tr><td width="60"><center>'; printf("<a href=\"%s?id=%s\">%s</a><br>\n", $PHP_SELF, $linha["id"], $posicao."º"); echo '</td></center><td width="300">'; printf("<a href=\"%s?id=%s\">%s</a><br>\n", $PHP_SELF, $linha["id"], $linha["nome"]); echo '</td><td width="300">'; printf("<a href=\"%s?id=%s\">%s</a><br>\n", $PHP_SELF, $linha["id"], $linha["academia"]); echo '</td><td width="300">'; printf("<a href=\"%s?id=%s\">%s</a><br>\n", $PHP_SELF, $linha["id"], $linha["professor"]); echo '</td></tr></table></center>'; } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
marcosfg 0 Denunciar post Postado Dezembro 4, 2009 Valeu Lucas, quando eu chegar em casa eu vou testar, dai eu te falo se deu certo, brigadão pela atenção!! Compartilhar este post Link para o post Compartilhar em outros sites
marcosfg 0 Denunciar post Postado Dezembro 8, 2009 Boa noite, meu amigo Lucas muito obrigado, deu certinho, agora aparece a posição, pontuação, nome, academia e professor, muito obrigado pela sua atenção, um grande abraço!! Compartilhar este post Link para o post Compartilhar em outros sites
lucasmartins 6 Denunciar post Postado Dezembro 8, 2009 Boa noite, meu amigo Lucas muito obrigado, deu certinho, agora aparece a posição, pontuação, nome, academia e professor, muito obrigado pela sua atenção, um grande abraço!! Legal que deu certo marcos ^^ Você viu que o importante é a lógica de programação, é o lado esquerdo do cérebro (lógico, análitico e verbal) de um projeto. É isso ae, qualquer coisa estamos aqui. =) Abraços e bons projetos. Compartilhar este post Link para o post Compartilhar em outros sites