Autor Zpráva
max.max
Profil
Před půl rokem jsem řešil tabulku viz. (ZDE
Potřebují momentálně, aby když ve výsledku budou 2 nebo více stejných výsledku bylo pořadí stejné.

Př.


Přitom zdrojové kódy mám udělané takto:

<table width="200" border="1"> 
  <tr>
    <td>poradi</td>
    <td>zavodnik</td>
    <td>soutez</td>
    <td>body</td>
  </tr><?
  // zde je include souboru s konstantami
include("config.php");
  $vysledek=mysql_query("select sbor, soutez, body, sum(body) celkem
from   body
group  by sbor
order  by celkem desc");
$poradi=1;
  while ($zaznam=MySQL_Fetch_Array($vysledek)):
       ?>
  <tr>
    <td><?{
  echo $poradi++;
}
?>.</td>
    <td><?echo $zaznam["sbor"]?></td>
    <td><?echo $zaznam["soutez"]?><?echo $zaznam["body"]?></td>
    <td><?echo $zaznam["celkem"]?></td>
  </tr>
<?
    $sudy=!$sudy;    
  endwhile;
?>
</table>

Databáze:
CREATE TABLE IF NOT EXISTS `body` (
  `sbor` varchar(20) NOT NULL,
  `soutez` varchar(20) NOT NULL,
  `body` int(11) default '0',
  PRIMARY KEY  (`sbor`,`soutez`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Předem děkují, za pomoc a příspěvky.


Ted se dívám, že mám špatně body u 4. Janovice - má tam být 40. Všiml jsem si toho až ted.
Kajman
Profil
$poradi=$posledni_poradi=1;
$posledni_body=null;
...
  if($zaznam["body"]!==$posledni_body)
  {
    $posledni_body=$zaznam["body"];
    $posledni_poradi=$poradi;
  }
  echo $posledni_poradi;
  $poradi++;
max.max
Profil
Možná jsem to udělal špatně, ale zkoušel jsem více variant a nešlo mi to...

Zkoušel jsem to takhle.
<table width="200" border="1"> 
  <tr>
    <td>poradi</td>
    <td>zavodnik</td>
    <td>soutez</td>
    <td>body</td>
  </tr><?
  // zde je include souboru s konstantami
include("config.php");
  $vysledek=mysql_query("select sbor, soutez, body, sum(body) celkem
from   body
group  by sbor
order  by celkem desc");
$poradi=$posledni_poradi=1;
$posledni_body=null;
  while ($zaznam=MySQL_Fetch_Array($vysledek)):
       ?>
  <tr>
    <td><?{
if($zaznam["body"]!==$posledni_body)
  {
    $posledni_body=$zaznam["body"];
    $posledni_poradi=$poradi;
  }
  echo $posledni_poradi;
  $poradi++;
}
?>.</td>
    <td><?echo $zaznam["sbor"]?></td>
    <td><?echo $zaznam["soutez"]?><?echo $zaznam["body"]?></td>
    <td><?echo $zaznam["celkem"]?></td>
  </tr>
<?
    $sudy=!$sudy;    
  endwhile;
?>
</table>
Kajman
Profil
Tam kde jsem dával $zaznam["body"] má být $zaznam["celkem"]. Kdyby to stále nefungovalo, tak si zjistěte, kde se to chová jinak, než požadujete.
max.max
Profil
Luxus, valí to krásně a ještě jestli můžu poprosit o jednu radu? jedná se o to, aby se mi vypsaly jednotlivé body ze soutěží. Inač tabulka je perfektní.


Děkují za pomoc
max.max
Profil
Tak děkují, vyřešil jsem to už celé. Vše funguje na 100% děkují za pomoc.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: