Autor Zpráva
23k
Profil
Nevite nekdo jak ocislovat radky v MYSQL?

Mam dotaz na DB, vyberu tymy a seradim je dle bodu, a nasledne potrebuji zjistit POZICE 2 tymu a dale pokracovat v kodu.

Nevite jak na to? Naka spesl fce nebo neco?
Hugo
Profil
Moc tomu nerozumim, ale bud vytvor v tabulce novy sloupec, ktery bude mit atribut auto_increment.

Nebo pouzivej vnorene selecty (prip. temporary table).

Snad ti neco z toho pomuze, ale mozna by bylo lepsi trochu ten dotaz upresnit.
23k
Profil
dobre. Popisu ve zkratce co tvorim. Tvorim fotbalovy ladder, kde neni klasicke bodovani jako ve skutecnem fotbale.

Dejme tomu ze bude hrat tym A proti tymu B.
Tym a je 3. v tabulce a tym B az 20. Zapas vyhraje tym B treba 2:1!.

Nyni bych rad tymy obodoval, jelikoz porazil outsider favoritam tak muj skript mu prideli body, ktere bych rad pocital z pozic tymu. Ale jak tyto pozice zjistim?

Postup
1/ Jeden z dvojice hracu posle vysledek, provedou se nezbytne kontroly
2/ Ted by se meli zjistit pozice tymu a pripsat body
3/ updatne se tabulka tymu, ktera se bezne ukazuje hracum

Cili envim bod 2 :/
Hugo
Profil
Tak to bych videl na dva dotazy:

select Pozice from Tym where JmenoTymu = '...';

Ted to nejak zpracujes a pak jen provedes update

update Tym set Body = Body + x where JmenoTymu = '...';
23k
Profil
A ted mi rekni jak tu pozici dostanu? Asi to stale nechapes, tu prave potrebuji zjistit
Hugo
Profil
Tu prece zjistis pomoci toho prvniho selectu.
23k
Profil
Hugo tu nezjistim bze ji nemam. Prave proto sem psal ze potrebuji OCISLOVAT radky pote co je seradim podle urcite hodnoty
ash
Profil
Pomocou samotnej MySQL neviem.
Skombinuj to s PHP. Pri prechádzaní výsledku SELECTU inkrementuj premennú a zároveň testuj ID tímu.
23k
Profil
uz sem si vypomohl PHPkem a polema. TEd zaboha nemuzu najist fci co mi spocita ROZDIL 2 poli ;)
23k
Profil
mam to ;) kua to je pekelnej kod HNUS! ale hlavne ze to funguje ;)
Charlie
Profil
Tak sem ten kód kdyžtak hoďte, třeba se nám ho podaří nějak vylepšit, nebo zrychlit.
23k
Profil
Uz mi ten ladder bezi :) ma to cca 190 radku. Skutecne se tim chcete prokousavat? :D
Kaifman
Profil
mas to na 6 radku akorat si tam dopln ten vzorec podle kteryho pocitas ty body a dotlacis tam jen jmeno teamu kterymu se to ma zapocitat

jo a je potreba mysql 4.1


start transaction;
create temporary table serazene select * from teamy order by hodnota
update teamy set body=(select id * skore / atd <<sem pride tvuj vzorec, v id mas poradi> from serazene where jmenoteamu='drnovice' limit 1);
drop table serazene;
commit;
23k
Profil
diky Kaifmane, vubec sem tohle neznal, neni nekde v CZE abych si o tom mohl vice precist? sry za pozdni reakci ;) nejak sem pak uz nekoukal
kaifman
Profil
ta transakce ani nebude potreba , uz si ani nepamatuju proc jsem ji tam psal(asi nejakej ulet :) ... o typu HEAP uz jsem psal dneska v nejakym jinym tvym threadu ale budou potreba mensi upravy ale zas to bude rychlejsi... jestli to ale jede na backendu tak je to jedno


koukam ale ze tam mam chybu jaxvina :)

ten update je potreba udelat v php cyclem protoze tan subselect vraci vic vysledku
Toto téma je uzamčeno. Odpověď nelze zaslat.