SlyX 0 Denunciar post Postado Agosto 24, 2004 minha matriz recebe: PHP [/tr][tr]<?php $top[$linhas][1] = $row["login"]; $top[$linhas][2] = $row["clan"]; $top[$linhas][3] = $row["frags"]; $top[$linhas][4] = $scoretotal; $top[$linhas][5] = $media; ?>[/tr] depois ela mostra: PHP [/tr][tr]<?php for ($i=0;$i<15;$i++) { $rank++; if ($rank < 11 ) { $rr = '<b>'.$rank.'</b>'; } else { $rr = $rank; } echo '<tr><td>'.$rr.'</td><td>'.$top[$i][1].'</td><td>'.$top[$i][2].'</td><td><center>'.$top[$i][3].'</td><td align=right>'.$top[$i][4].'</td><td align=right>'.$top[$i][5].'</td></tr>'; } ?>[/tr] ...................... eu queria q dps dela receber tudo.. ela ficace na ordem da MAIOR media para a MENOR.. eu tentei uma coisa que nao deu certo: PHP [/tr][tr]<?php $b = true; while($b){ $aux = -1; for ($i=0;$i<$top.$linhas;$i++) { if ($top[$i][5] > $top[$i+1][5]){ $aux = $top[$i][5]; $top[$i][5] = $top[$i+1][5]; $top[$i+1][5] = $aux; } } if($aux == -1){ $b = false; } } ?>[/tr] alguem pode me ajudar? como q faço para organizar a matriz por ordem de maior media? ( $top[$linhas][5] ) Compartilhar este post Link para o post Compartilhar em outros sites
SlyX 0 Denunciar post Postado Agosto 24, 2004 Insira a seguinte funçãofunction array_csort() { //coded by Ichier2003 $args = func_get_args(); $marray = array_shift($args); $msortline = "return(array_multisort("; foreach ($args as $arg) { $i++; if (is_string($arg)) { foreach ($marray as $row) { $sortarr[$i][] = $row[$arg]; } } else { $sortarr[$i] = $arg; } $msortline .= "\$sortarr[".$i."],"; } $msortline .= "\$marray));"; eval($msortline); return $marray; }E depois execute o seguinte codigo$top = array_csort($top,5,SORT_DESC); Warning: array_multisort(): Argument #1 is an unknown sort flag in /home/hh/public_html/quake/cbca/topfrag.php(156) : eval()'d code on line 1ainda nao foi desta vez eheh :( Compartilhar este post Link para o post Compartilhar em outros sites
SlyX 0 Denunciar post Postado Agosto 24, 2004 ps: fiz um binpaste do arquivo completo ehhehe http://www.pastebin.com/95135 Compartilhar este post Link para o post Compartilhar em outros sites
SlyX 0 Denunciar post Postado Agosto 25, 2004 nova url do pastebin: http://www.pastebin.com/95246 ps: codigo completo: PHP [/tr][tr]<? //Listar Fragers $comando = "SELECT * FROM `players` order by `frags` desc limit 0,40"; $reee = mysql_query($comando); $linhas=0; if (mysql_num_rows($reee) > 0) { while ($row = mysql_fetch_array($reee, MYSQL_BOTH)) { $score1 = 0; $score2 = 0; $scoretotal = 0; for ($i=0;$i<40;$i++) { $comando = "SELECT * FROM `resultados` WHERE `idjogo` = '$i' AND `idround` = '1' AND `player1c1`='$row[login]' OR `idjogo` = '$i' AND `idround` = '1' AND `player2c1`='$row[login]' OR `idjogo` = '$i' AND `idround` = '1' AND `player3c1`='$row[login]' OR `idjogo` = '$i' AND `idround` = '1' AND `player4c1`='$row[login]' OR `idjogo` = '$i' AND `idround` = '1' AND `player1c2`='$row[login]' OR `idjogo` = '$i' AND `idround` = '1' AND `player2c2`='$row[login]' OR `idjogo` = '$i' AND `idround` = '1' AND `player3c2`='$row[login]' OR `idjogo` = '$i' AND `idround` = '1' AND `player4c2`='$row[login]'"; $re = mysql_query($comando); if (mysql_num_rows($re) > 0) { $score1 = mysql_result($re, 0, "score1"); $score2 = mysql_result($re, 0, "score2"); $scoretotal = $scoretotal+$score1+$score2; } $comando = "SELECT * FROM `resultados` WHERE `idjogo` = '$i' AND `idround` = '2' AND `player1c1`='$row[login]' OR `idjogo` = '$i' AND `idround` = '2' AND `player2c1`='$row[login]' OR `idjogo` = '$i' AND `idround` = '2' AND `player3c1`='$row[login]' OR `idjogo` = '$i' AND `idround` = '2' AND `player4c1`='$row[login]' OR `idjogo` = '$i' AND `idround` = '2' AND `player1c2`='$row[login]' OR `idjogo` = '$i' AND `idround` = '2' AND `player2c2`='$row[login]' OR `idjogo` = '$i' AND `idround` = '2' AND `player3c2`='$row[login]' OR `idjogo` = '$i' AND `idround` = '2' AND `player4c2`='$row[login]'"; $re = mysql_query($comando); if (mysql_num_rows($re) > 0) { $score1 = mysql_result($re, 0, "score1"); $score2 = mysql_result($re, 0, "score2"); $scoretotal = $scoretotal+$score1+$score2; } $comando = "SELECT * FROM `resultados` WHERE `idjogo` = '$i' AND `idround` = '3' AND `player1c1`='$row[login]' OR `idjogo` = '$i' AND `idround` = '3' AND `player2c1`='$row[login]' OR `idjogo` = '$i' AND `idround` = '3' AND `player3c1`='$row[login]' OR `idjogo` = '$i' AND `idround` = '3' AND `player4c1`='$row[login]' OR `idjogo` = '$i' AND `idround` = '3' AND `player1c2`='$row[login]' OR `idjogo` = '$i' AND `idround` = '3' AND `player2c2`='$row[login]' OR `idjogo` = '$i' AND `idround` = '3' AND `player3c2`='$row[login]' OR `idjogo` = '$i' AND `idround` = '3' AND `player4c2`='$row[login]'"; $re = mysql_query($comando); if (mysql_num_rows($re) > 0) { $score1 = mysql_result($re, 0, "score1"); $score2 = mysql_result($re, 0, "score2"); $scoretotal = $scoretotal+$score1+$score2; } } $media = $row["frags"] / $scoretotal; $top[$linhas][1] = $row["login"]; $top[$linhas][2] = $row["clan"]; $top[$linhas][3] = $row["frags"]; $top[$linhas][4] = $scoretotal; $top[$linhas][5] = $media; $linhas++; } mysql_free_result($reee); } else { echo "Nenhum player encontrado"; } $i=0; function array_csort() { $args = func_get_args(); $marray = array_shift($args); $msortline = "return(array_multisort("; foreach ($args as $arg) { $i++; if (is_string($arg)) { foreach ($marray as $row) { $sortarr[$i][] = $row[$arg]; } } else { $sortarr[$i] = $arg; } $msortline .= "\$sortarr[".$i.],"; } $msortline .= "\$marray));"; eval($msortline); return $marray; } $top = array_csort($top,5,SORT_DESC); $rank = 0; for ($n=0;$n<15;$n++) { $rank++; if ($rank < 11 ) { $rr = '<b>'.$rank.'</b>'; } else { $rr = $rank; } echo '<tr><td>'.$rr.'</td><td>'.$top[$n][1].'</td><td>'.$top[$n][2].'</td><td><center>'.$top[$n][3].'</td><td align=right>'.$top[$n][4].'</td><td align=right>'.$top[$n][5].'</td></tr>'; } ?> [/tr] Compartilhar este post Link para o post Compartilhar em outros sites