Avatar billede fdlg Nybegynder
29. december 2008 - 17:22 Der er 8 kommentarer

Spil database

Hej
Vi har et "managerspil" i den lokale fodboldklub som fungere helt fint i et excelark, men vil gerne have stillingen ud på vores hjemmeside, men mangler lige lidt hjælp:-)

Hvert hold består af 6 spillere, 1 målmand ,2 forsvar, 2 midtbane og 1 angriber

Jeg har lavet følgende tabeller:
Profiles (fra vores spillerdatabase)
ProfileID
Name
Placering

Runde
rundeid
ProfileID
point

hold
holdid
navn
ProfileID_M
ProfileID_F1
ProfileID_F2
ProfileID_M1
ProfileID_M2
ProfileID_A

det er meningen at vi bare taster antal point for hver spiller ind i rundetabellen via php

nu kommer problemer så... hvordan får jeg mysql til at lægge spillerens (profileID) point sammen for alle runderne og lægger point sammen for de spillere et hold (holdid) har?

i må meget gerne komme med forslag i php:-)

og hvis mine tabeller er helt væk så kom endelig med forslag!
Avatar billede Syska Mester
29. december 2008 - 17:28 #1
sql delen kan jeg godt, mit php er rusten.

men noget ala med tilpasninger til din table:
SELECT ProfileID, SUM(point) FROM Runde GROUP BY ProfileID
Avatar billede HenrikSjang Nybegynder
29. december 2008 - 20:18 #2
sql delen (dvs mysql delen) har du styr på? Og du søger hjælp til php'en? Hvad laver du monstro så i MSSQL gruppen? :)
Avatar billede HenrikSjang Nybegynder
29. december 2008 - 20:18 #3
ahh, jeg så ikke lige at det var buzzz der skrev det med php'en ;)
Avatar billede Syska Mester
30. december 2008 - 01:53 #4
well ... et eller andet sted vist stadig forkert kategori kan jeg se, da han spørger ind til mysql og dette er mssql :-)

Men her er begge DBMS ens.

Men php ville jeg næste tror du selv kan, hvis du har andre sql quries på din hjemmeside, burde dette ikke volde de store problemer :-)

// ouT
Avatar billede fdlg Nybegynder
30. december 2008 - 08:58 #5
hey!
ja kan sku godt se den er røget ind i ms stedetfor my...

men jeg kan stadig ikke få det til at gå op... det min holdtabel er gal! de 6 profileid'er jeg har skulle jo gerne hente værdier fra rundetabellen via profileid...?
Avatar billede Syska Mester
30. december 2008 - 12:15 #6
Udover det jeg har givet dig, så kan jeg ikke se sammenhængen mellem din Profiles/Runder og så dine hold ... hvad kæder resten sammen med hold ?

og skriv gerne lidt mere detaljeret om din table struktur ...
Avatar billede fdlg Nybegynder
30. december 2008 - 14:11 #7
Jeg har fået det til at virke med denne:

<?
 

$query = mysql_query("SELECT holdid, SUM(point)
FROM runder
JOIN hold ON profileid_m = profileid OR profileid_f1 = profileid OR profileid_f2 = profileid OR profileid_m1 = profileid OR profileid_m2 = profileid OR profileid_a = profileid
GROUP BY holdid ORDER BY SUM(point) DESC");
while($row = mysql_fetch_assoc($query))
{
    echo $row['holdid'] . " - " . $row['SUM(point)'] . "<br/>";
}
?>

men nu mangler jeg en fuktion til at vise holdnavn istedetfor holdid?
anyone?
Avatar billede Syska Mester
30. december 2008 - 23:42 #8
skift alle dine "holdid" ud med "navn" ...

eller tilføj det, så du både henter navn og holdid ud .... husk du også skal have group by på "navn".

Udover det, så forstår jeg ikke helt dit table design. Hvorfor alle de joins ? Jeg ville nok kigge lidt på din table struktur hvis jeg var dig.

// ouT
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester