Autor Zpráva
Jason
Profil *
Dobrý den,

mám výpis fotbalové tabulky z db do array. A snažim se o následující, ale prostě nejsem schopnej to udělat. Mám např. 16 týmů a potřeboval bych vypsat 8 týmů s tím, aby když by tým s ID==1 byl např. 3, tak se zobrazily týmy 1-8. Prostě aby se vždy vypsalo 8 týmů. Takže kdyby danej tým byl poslední, vypsali by se pozice 9-16. Snad jsem to popsal dostatečně.

Díky moc za pomoc
slim12
Profil
to jako ma byt nejake strankovani??
saphire
Profil
Jason:
$vypsat = 8; //kolik tymu se zaraz ma vypsat
$celkem = 16; //celkem tymu
$by = 5 ; // od ktereho tymu se vypisuje
if(($by + $vypsat) > $celkem)
{
  $by = $celkem-$vypsat;
}
$dotaz = "SELECT * FROM tabulka_tymu LIMIT ".$vypsat." OFFSET ".$by.";";
petr 6
Profil
Jason:
Snad jsem to popsal dostatečně.
Možná kdybys dokázal rozlišit číslovky tři a třetí, tak by to bylo lepší.
A co když tým bude osmý? Vypíší se pak týmy na 1. až 8. místě nebo 8. až 15. místě nebo nějak úplně jinak?

Pokud má být daný tým vždy v čele tabulky (pokud to je možné), tak v principu použiješ kód od saphire s drobnou úpravou
$vypsat = 8; //kolik tymu se zaraz ma vypsat
$celkem = 16; //celkem tymu
$by = 5 ; // od ktereho tymu se vypisuje - toto je poradi (nikoli id) tymu, ktere musis zase nejak vytahnout z databaze
if($by + $vypsat > $celkem)
{
  $by = $celkem-$vypsat+1;
}
$dotaz = "SELECT * FROM tabulka_tymu ORDER BY poradi_tymu LIMIT ".$vypsat." OFFSET ".$by.";";
Jason
Profil *
Díky a kdybch chtěl, že můj tým je např. 5. a chci aby to vypsalo 3 týmy před a 4 týmy za. Resp. prostě aby ten můj tým, kterej je stežejní, tak aby se vždy vypsal on + 7 týmů (celkem tedy 8) s tim že on by byl uprostřed.

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:

0