Autor Zpráva
23k
Profil *
Dobry den, resim problemek, neco sem si vymyslel ale zda se mi to krkolomne, tak si to zatim necham pro sebe a uvidim co mi kdo poradi jestli by to nebylo lepsi :) diky....

Mám online fotbalovou ligu. Mam jednu SQL tabulku pro veskere zapasy. Liga probiha takto ...
* - rozepisu zapasy, ktere se musí odehrat (http://pes.rjwebdesign.net/index.php?kat=rozpis&kat2=rozpis_divize&ja ka=divize_c)

* - az se zapas odehraje hrac posle vysledek -> http://pes.rjwebdesign.net/posli_vysledek.php

* - vysledek prijde do meho administracniho sytemu, mam 2 sekce, Prijate vysledky | Rozepsane

Ja si musim vysledek zapamatovat a pak ho EDITNOUT, v sekci rozepsane aby se to zjevilo na netu. Prijde mi to dosti krkolomne, rad bych to mel takto => prijde zapas s vysledkem , ja zapas SCHVALIM a prepisou se hodnoty v sekci ROZEPSANE. Nicmene nemuzu prijit na vhodnou vazbu mezi temito zapasy
(rozepsane & prijate). Ted sem si neco vymyslel ale je to smeska Sesssions a vytahu z DB a uprimne receno je to humus, ale myslim ze to bude fungovat. Nicmene kdyby mel nekdo lepsi a jednodussi reseni, budu rad.

Diky za pomoc!

23k.
Wan-To
Profil *
Nevím, jestli jsem správně pochopil tvůj problém, ale na tvém místě bych to udělal asi takto:
měl bych jednu tabulku, ve které by byla všechna důležitá data a NAVÍC, jestli je zápas tebou schválený. V administraci bys zápas schválil jednoduše tím, že bys v tabulce nastavil položku schvaleno třeba na 'ano'.
Leo
Profil
No jestli dany zapas muze byt ve trech stavech (vysledek jeste neni, uz je poslany ale neschvaleny, uz je poslany a schvaleny), tak bych si do tabulky zapasu proste dal sloupec kam tohle nacpu (tinyint, treba), a pak vypisu jenom zapasy, ktere ve sloupci maji schvaleny stav, Leo
23k
Profil *
ne nechapete :/. Nejde o to jak vysledek ukazovat ale jak dostat z jednoho zapasu (stav vysledku) do druheho zapasu ktery je bez techto hodnot.

Ukazi na praktickem priklade, pak to bude jasnejsi.

Rozepisu v mem RS(red.system) aktualni kolo = 5 zapasu. Napr.
* id_zapasu 40 - Manchester United - FC Barcelona -:- // to se potom objevi tady http://pes.rjwebdesign.net/index.php?kat=rozpis&kat2=rozpis_divize&ja ka=divize_b

* hraci az zapas odehraji vysledek poslou, tedy jen 1, posila vzdy vitez -> http://pes.rjwebdesign.net/posli_vysledek.php .

Tak a ja mam v tabulce ZAPASY (v SQL tabulce), vlastne 2 stejne zapasy. Tedy kazdy ma jine ID, rozepsany zapas je bez vysledku, hracem poslany zapas je logicky s vysledkem. A prave VYSLEDEK z poslaneho zapasu jsem chtel dostat do ROZEPSANEHO zapasu.

Je to logictejsi?

* jedna SQL tabulka se vsemi zapasy /prijate , rozepsane/
* rozepsany zapas - bez vysledku
* prijaty zapas od hrace - s vysledkem


Vysledek chci mit v obou zapasech, nicmene nemohu prijit na to jakou vazbou je propojit ci jak vysledek "ZKOPIROVAT" do rozepsaneho zapasu. UFF :)
Wan-To
Profil *
Tak to udělej tak, že když hráči se zobrazí všechny zápasy, které jsi ty předem vložil a do těch budou moci doplnit výsledky. Nebo budou moct vytvořit úplně nový zápas, pokud jsi ho ty nevytvořil předem. V administraci zápas s údaji doplněnými od hráčů schválíš.
Wan-To
Profil *
Vysledek chci mit v obou zapasech, nicmene nemohu prijit na to jakou vazbou je propojit ci jak vysledek "ZKOPIROVAT" do rozepsaneho zapasu. UFF :)
Použij dva dotazy. Výsledek si vyber prvním SQL dotazem, a do jiného záznamu ho vlož druhým SQL dotazem.

$qVysledek = @mysql_query("select vysledek from zapasy where id = " . $idPrvniho);
$vysledek = @mysql_fetch_object($qVysledek);
$upravit = @mysql_query("update zapasy set vysledek = '" . $vysledek->vysledek . "' where id = " . $idDruheho);
23k
Profil *
Nene, nic hraci delat nebudou, trvalo mi nez sem jim vysvetlit jak posilat zapasy a vubec :)
Pak by pri updatu celeho kola, statistik a vubec byl hroznej bordel.

>> Vysledek chci mit v obou zapasech, nicmene nemohu prijit na to jakou vazbou je propojit ci jak vysledek "ZKOPIROVAT" do rozepsaneho zapasu. UFF :)
Použij dva dotazy. Výsledek si vyber prvním SQL dotazem, a do jiného záznamu ho vlož druhým SQL dotazem.

$qVysledek = @mysql_query("select vysledek from zapasy where id = " . $idPrvniho);
$vysledek = @mysql_fetch_object($qVysledek);
$upravit = @mysql_query("update zapasy set vysledek = '" . $vysledek->vysledek . "' where id = " . $idDruheho);


dik za radu, tohle bych takyd vedel :), ja potrebuju najit nakou vazbu aby se tak MOHLO DIT.


Tenhle sql dotaz by se provedl v pripade meho kliknuti na odkaz SCHVALIT PRIJATY VYSLEDEK, nicmene tam proste chybi ta vazba no :/
Wan-To
Profil *
Tak už nevím, co přesně potřebuješ, co myslíš tou vazbou a tím MOHLO DIT.
23k
Profil *
nechame to bejt radsi ;)
23k
Profil *
resp.

$qVysledek = @mysql_query("select vysledek from zapasy where id = " . $idPrvniho);
$vysledek = @mysql_fetch_object($qVysledek);
$upravit = @mysql_query("update zapasy set vysledek = '" . $vysledek->vysledek . "' where id = " . $idDruheho);




mi sice pomuze nicmene to musi byt MASOVA zalezitost. Cim bude propojeny ten PRVNI vysledek s tim DRUHYM?
Wan To
Profil
Něco jako

update zapasy set vysledek = (select vysledek from zapasy where id = <<idPrvniho>>) where id = <<idDruheho>>

asi nefunguje???
23k
Profil *
Diky za snahu nicmene me nejde o naky sql dotazy, ty si umim vytvorit sam.

Ja musim prijit na vazbu mezi zapasem rozepsanym a zapasem odehranym (ktery se odehraje za 2-5 dni) abych pak mohl ten SQL vytvorit.
23k
Profil *
Jinak fakt diky za snahu, ten dotaz vypada dobre nicmene tam nejaka vazba byt musi abych to takto mohl napsat.

Wan To jestli mas ICQ tak # 176-031-471 DIK.
Wan To
Profil
ICQ nemám...

Myslím, že už konečně chápu tvůj problém. Ty potřebuješ nějakou vazbu v SQL tabulce, tedy jedno pole, ve kterém budou u dvou záznamů stejné hodnoty, abys pak mohl jedním SQL dotazem aktualizovat oba záznamy najednou.
Vazba by šla udělat nějakým názvem zápasu, ale je tu riziko, že někdo udělá překlep (nebo třeba mezeru navíc) a SQL dotaz nebude fungovat.
Další, lepší řešení, by bylo mít tabulku fotbalových klubů, každý klub by měl nějaké ID a v tabulce zápasů by byly vždy identifikátory dvou klubů, které proti sobě hrály. Muselo by se pak zajistit (třeba nějakým <selectem>), aby se uživatel nemohl splést.
Nebo si můžeš napsat složitou funkci, která vytvoří hešový kód z názvu zápasu a bude počítat i s překlepy. Takže nějaké složité regulární výrazy.
Vyber si, co se ti zdá nejvhodnější, já bych použil druhou možnost.
23k
Profil *
>> Ty potřebuješ nějakou vazbu v SQL tabulce, tedy jedno pole, ve kterém budou u dvou záznamů stejné hodnoty, abys pak mohl jedním SQL dotazem aktualizovat oba záznamy najednou

Temer. Ja potrebuji aktualizovat hodnotu z jednoho zaznamu do druheho.
Ale mozna sem si to vymyslel lepe. Jeste to nemohu zkusit , az o vikendu.

##

Hrac ve formulari posle vysledek, na zpracuji strance se jen data zobrazi ke kontrole + provede se SQL vytahne si podle domacich a hostu idcko teprve ROZEPSANEHO zapasu a ulozi ho k tomu posilanemu a pak odkaz SCHVALIT podle toho Idcka uz provede prislusny update.

Myslim ze to takhle bude nejjednodussi i bezpecne. Doufam aspon. :) DIKY
Wan To
Profil
Tak to je v podstatě ta druhá možnost z těch tří, kterou jsem ti doporučoval.
23k
Profil *
JJ bude to peklo ale snad se zadari :). Porid si ICQ bo MSN ;)
Wan To
Profil
To mi je na nic, na net se dostanu jen ze školy...
23k
Profil *
Tak to je Problem
Toto téma je uzamčeno. Odpověď nelze zaslat.