Forum FAQForum FAQSearchSearch MemberlistMemberlist Forum ignore listForum ignore list RegisterRegister ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in
MySQL pomoć

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side
View previous topic :: View next topic  
Author Message
smojke



Joined: 10 Feb 2008
Posts: 10

PostPosted: 13.03.2009 22:50    Post subject: MySQL pomoć Add user to your forum ignore list Reply with quote

bok, trebam pomoć. radim besplatno jednom klubu web stranicu, budući da je nemaju. u globalu, odradio sam sve što sam planirao, od najava utakmica, top strijelca, rezultata po kolu i svega ostaloga... međutim, imam jedan problem.

nikako ne uspijevam napraviti automatsku poredak tablicu. to me poprilicno muci. pa mozete li mi pomoci?

imam tablicu UTAKMICE s stupcima: id(auto-increment ), domacin ,gost, gol1, gol2, kolo, datum, status, sezona_godina

status mi je -> prvenstvena, prijateljska, ili kup

i imam tablicu POREDAK id, klub, poredak, gol_razlika, pozicija...

kako to napraviti?
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
bj__



Joined: 09 Nov 2004
Posts: 65
Location: Karlovac

PostPosted: 14.03.2009 13:17    Post subject: Add user to your forum ignore list Reply with quote

sto je "automatska poredak tablica"?

inace, meni se cini da te muci vise od te "automatske poredak tablice"...
- sto su atributi domacin i gost? int identifikator kluba u relaciji klubovi ili (var)char naziv kluba? ako je drugo, onda ce ti se dogoditi stvari poput "nk dinamo", "dinamo", "Dinamo" koje su razliciti podaci, a misli se na isti klub
- sto je atribut status? enum ili nesto trece?

sto se ove relacije poredak tice, kako ju mislis odrzavati? vjerojatno bi bilo najbolje napraviti okidace (triggere) koji reagiraju na promjenu u relaciji utakmice i azuriraju poredak, iako mi se cak ta relacija cini suvisnom. s obzirom da se ne radi o konkretnim podacima koje spremas u bazu nego o podacima koji vec postoje u drugoj relaciji, bolje bi bilo napraviti pogled (view) kojim ces onda dinamicki dohvacati sadrzaj relacije utakmice...

ako ti se sve ovo cini kompliciranim, vjerojatno trebas malo bolje prouciti rad s bazama podataka...
Back to top
View user's profile Send private message Twitter profile
les



Joined: 25 Oct 2004
Posts: 370

PostPosted: 14.03.2009 13:57    Post subject: Add user to your forum ignore list Reply with quote

Moram priznati da nisam sasvim shvatio što te muči...
Ali bilo kakav poredak možeš složiti prilikom izvršavanja querry-ja na bazi - "order by" bi ti trebao odraditi sve potrebno...
Back to top
View user's profile Send private message Send e-mail
smojke



Joined: 10 Feb 2008
Posts: 10

PostPosted: 14.03.2009 16:49    Post subject: Add user to your forum ignore list Reply with quote

ok, krivo sam se izrazio. automatska poredak tablica = tablica koja bi se updateala sama kada ja nakon gotovog kola upisem rezultate u tablicu utakmice. domacin i gost su char, i uvijek se unasaju ista imena (iz tablice u cms-u, tako da se ne moze dogoditi da bude nk dinamo, dinamo, ili recimo hnk dinamo) a id je broj klubova u ligi. atribut status u tablici utakmice je isto char = prijateljska, kup i prvenstvena. i također ne može biti ništ drugo uneseno. uvijek je isto.

i sad, ne znam kako napraviti ovo otprilike:

SELECT * FROM poredak
ako je poredak["klub"]==utakmice["domacin"] i ako je utakmice["gol1"]>utakmice["gol2"] upisi u tablicu poredak gdje je utakmice["domacin"]==poredak["klub"] bodovi+3 , pa za nerješeno i izgubljeno, i onda za gostućuje klubove

order by i radi dobro, ako ja nakon svakog kola sam upisem konacan broj bodova kluba, ili njegovu poziciju... trenutno. a ja bi htio da iz tablice utakmice izracunam broj bodova svakog kluba i upisem to u poredak, i onda normalno najmanji je problem ispisat te klubove prema broju bodova.


tablica utakmice -->

id (int) domacin (text) gost(text) gol1(int) gol2(int) kolo(int) datum(datetime) status(text) sezona_godina(int)

tablica poredak -->

id(int) klub(text) poredak(int) gol_razlika(int) pozicija(int)
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
bj__



Joined: 09 Nov 2004
Posts: 65
Location: Karlovac

PostPosted: 14.03.2009 21:20    Post subject: Add user to your forum ignore list Reply with quote

mozes napraviti okidac koji ce se izvrsiti nakon svakog upisa u relaciju utakmice, ali ne i nesto kao "nakon sto ja unesem 10 ntorki (redaka) podataka, napravi to i to". naravno, ako napravis okidac koji se izvrsi nakon svakog upisa, onda ga napravis tako da izmijeni samo one klubove koje treba...
znaci nesto kao:
Code:
CREATE TRIGGER AFTER INSERT ON utakmice
FOR EACH ROW BEGIN
    IF NEW.gol1>NEW.gol2
        UPDATE poredak SET bodovi=bodovi+3 WHERE klub=NEW.domacin
    ELSE
        IF NEW.gol1<NEW.gol2
            UPDATE poredak SET bodovi=bodovi+3 WHERE klub=NEW.gost
        ELSE
            UPDATE poredak SET bodovi=bodovi+1 WHERE klub=NEW.domacin
            UPDATE poredak SET bodovi=bodovi+1 WHERE klub=NEW.gost
        END IF
    END IF
END

ovo sam pisao iz glave i vjerojatno ima sintaksnih gresaka, ali ti daje opcu sliku sto bi trebalo napraviti za ovo sto zelis...
Back to top
View user's profile Send private message Twitter profile
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group