Hussay 0 Denunciar post Postado Agosto 31, 2012 Bom dia pessoal. Criei uma tabela no meu banco de dados onde todos jogam com todos sem repetir: id mês pontos1 time1 placar1 placar2 time2 63 8 0 MARYELLEN NEVES 0 0 BRUNO CESAR 64 8 0 MARYELLEN NEVES 0 0 DIEGO TADEU 65 8 0 MARYELLEN NEVES 0 0 ALEXSANDRO APARECIDO 66 8 0 MARYELLEN NEVES 0 0 ELAINE CRISTINA 67 8 0 MARYELLEN NEVES 0 0 RUBIA GRAZIELLE 68 8 0 MARYELLEN NEVES 0 0 POLYANA KIVIA 69 8 0 MARYELLEN NEVES 0 0 CLERISTA TAISA 70 8 0 CLERISTA TAISA 0 0 BRUNO CESAR 71 8 0 CLERISTA TAISA 0 0 DIEGO TADEU 72 8 0 CLERISTA TAISA 0 0 ALEXSANDRO APARECIDO 73 8 0 CLERISTA TAISA 0 0 ELAINE CRISTINA 74 8 0 CLERISTA TAISA 0 0 RUBIA GRAZIELLE 75 8 0 CLERISTA TAISA 0 0 POLYANA KIVIA 76 8 0 POLYANA KIVIA 0 0 BRUNO CESAR 77 8 0 POLYANA KIVIA 0 0 DIEGO TADEU 78 8 0 POLYANA KIVIA 0 0 ALEXSANDRO APARECIDO 79 8 0 POLYANA KIVIA 0 0 ELAINE CRISTINA 80 8 0 POLYANA KIVIA 0 0 RUBIA GRAZIELLE 81 8 0 RUBIA GRAZIELLE 0 0 BRUNO CESAR 82 8 0 RUBIA GRAZIELLE 0 0 DIEGO TADEU 83 8 0 RUBIA GRAZIELLE 0 0 ALEXSANDRO APARECIDO 84 8 0 RUBIA GRAZIELLE 0 0 ELAINE CRISTINA 85 8 0 ELAINE CRISTINA 0 0 BRUNO CESAR 86 8 0 ELAINE CRISTINA 0 0 DIEGO TADEU 87 8 0 ELAINE CRISTINA 0 0 ALEXSANDRO APARECIDO 88 8 0 ALEXSANDRO APARECIDO 0 0 BRUNO CESAR 89 8 0 ALEXSANDRO APARECIDO 0 0 DIEGO TADEU 90 8 0 DIEGO TADEU 0 0 BRUNO CESAR Os times que formaram essa tabela foram: MARYELLEN NEVES CLERISTA TAISA POLYANA KIVIA RUBIA GRAZIELLE ELAINE CRISTINA ALEXSANDRO APARECIDO DIEGO TADEU BRUNO CESAR Agora preciso na minha página php, mostrar separando por rodadas, estilo campeonato brasileiro, sem repetir um time na rodada. Me ajudem por favor: <? /*Pega o mês*/ if(empty($_GET['mes'])){ $mes = date('m'); }else { $mes = $_GET['mes']; } /*Fim Pega o mês*/ /*Decide quantas rodadas*/ $rodadas1 = mysql_query("SELECT nome FROM jogadores WHERE mes='$mes'"); $cont_rodadas1 = mysql_num_rows($rodadas1); $rodadas = $cont_rodadas1 - 1; $loop_rodadas = 0; while($loop_rodadas < $rodadas){ $loop_rodadas++; /*Fim Decide quantas rodadas (loop em toda tabela*/ ?> <table width="500px" border="1" cellspacing="0" cellpadding="0" align="center"> <tr> <td height="32" colspan="6" align="center" valign="middle"><? echo $loop_rodadas; ?>ª Rodada</td> </tr> <tr> <td align="center">id</td> <td align="center">TIME1</td> <td align="center"> </td> <td align="center">X</td> <td align="center"> </td> <td align="center">TIME 2</td> </tr> <? $posicao = $loop_rodadas -1;/* Posição 0 na busca*/ /* Busca o primeiro jogo*/$inicio1 = mysql_query("SELECT * FROM jogos WHERE mes='$mes' LIMIT $posicao,1"); while($linha_inicio = mysql_fetch_array($inicio1)){ $inicio = $linha_inicio['id'];/*Id do primeiro time*/ } $jogos = mysql_query("SELECT * FROM jogos WHERE mes='$mes' and id='$inicio'"); while($linha_jogos = mysql_fetch_array($jogos)){ $time1 = $linha_jogos['time1']; $placar1 = $linha_jogos['placar1']; $placar2 = $linha_jogos['placar2']; $time2 = $linha_jogos['time2']; $id = $linha_jogos['id']; /*Fim da Busca do primeiro jogo*/ ?> <tr> <td align="center"><? echo $id;?></td> <td align="center"><? echo $time1;?></td> <td align="center"><? echo $placar1; ?></td> <td align="center">X</td> <td align="center"><? echo $placar2; ?></td> <td align="center"><? echo $time2; ?></td> </tr> <tr> <? } /* Busca o restante dos jogos da rodada sem repetir nenhum time (onde está o erro segundo minha percepção*/ $jogos1 = mysql_query("SELECT * FROM jogos WHERE mes='$mes' and time1!='$time1' and time1!='$time2' and time1!='$time5' and time1!='$time6' and time2!='$time1' and time2!='$time2' and time2!='$time5' and time2!='$time6'"); while($linha_jogos = mysql_fetch_array($jogos1)){ $time1 = $linha_jogos['time1']; $placar1 = $linha_jogos['placar1']; $placar2 = $linha_jogos['placar2']; $time2 = $linha_jogos['time2']; $id = $linha_jogos['id']; $time5 = $time1; $time6 = $time2; ?> <tr> <td align="center"><? echo $id;?></td> <td align="center"><? echo $time1;?></td> <td align="center"><? echo $placar1; ?></td> <td align="center">X</td> <td align="center"><? echo $placar2; ?></td> <td align="center"><? echo $time2; ?></td> </tr> <? } ?> </table> <? } ?> Compartilhar este post Link para o post Compartilhar em outros sites
marcoscgr 0 Denunciar post Postado Agosto 31, 2012 Cara, não é mais facil você trazer todos os times no select e tratar de exibir ou não através do PHP ?? Dai voce pode fazer assim, conforme for exibindo os times, vai adicionando num array, e sempre que for exibir um novo time, consulta esse array para verificar se ele já foi inserido... Imagina se o camarada fala, quero adicionar mais um time, do jeito que tá ai, vai ficar complicado... Edit: To lendo aqui, mas nao compreendi direito o seu problema. Como assim os times não podem se repetir ?? como voce sabe quando foi aquela rodada se todos os jogos foram no mesmo mes ?? Pq dependendo e como for, um Group By resolve o seu problema.... Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Agosto 31, 2012 time --- nome SELECT T1.NOME TIME1,T2.NOME TIME2 FROM TIME T1,TIME T2 WHERE T1.NOME <> T2.NOME ORDER BY 1,2 Compartilhar este post Link para o post Compartilhar em outros sites
Hussay 0 Denunciar post Postado Setembro 2, 2012 Enteni que minha dúvida ficou confusa. Para ficar mais fácil, vocês me ajudarem, eu preciso fazer uma tabela tipo a do campeonato brasileiro, só que o nome dos times, são de pessoas. Os times que formaram essa tabela são: tabela (jogadores) (no mysql) foi construída assim: id ---- nome O conteúdo da tabela (jogadores) é: 1 | MARYELLEN NEVES 2 | CLERISTA TAISA 3 | POLYANA KIVIA 4 | RUBIA GRAZIELLE 5 | ELAINE CRISTINA 6 | ALEXSANDRO APARECIDO 7 | DIEGO TADEU 8 | BRUNO CESAR Abs, :) Compartilhar este post Link para o post Compartilhar em outros sites