Avatar billede clausvintherlarsen Nybegynder
05. oktober 2005 - 22:09 Der er 19 kommentarer og
1 løsning

Sammentæl point og sorter herefter

Jeg har en tabel som ser således ud:
CREATE TABLE `PuroPoints` (
  `Week` int(2) NOT NULL default '0',
  `Year` int(4) NOT NULL default '0',
  `Points` int(1) NOT NULL default '0',
  `FromUser` int(5) NOT NULL default '0',
  `ToUser` int(5) NOT NULL default '0',
  `Reason` text NOT NULL
) TYPE=MyISAM;


Mine brugere skal/kan hver uge afgive 1-2 point til en anden bruger.

Når ugen er slut vil jeg gerne vise de brugere der har fået flest stemmer.

Ugenummeret og året ligger i variablerne $Week og $Year

Jeg har før fået hjælp på eksperten for år tilbage til noget lignende. Håber det kan lade sig gøre igen.
Avatar billede clausvintherlarsen Nybegynder
05. oktober 2005 - 22:11 #1
Jeg skal bruge den 'ToUser' som har fået flest 'Points'

'Points' kan være en hvilken som helst talværdi.
Avatar billede arne_v Ekspert
05. oktober 2005 - 22:11 #2
SELECT ToUser,SUM(Points)
FROM PuroPints
WHERE Year = $Year AND Week = $Week
GROUP BY ToUser
ORDER BY SUM(Points) DESC

måske
Avatar billede arne_v Ekspert
05. oktober 2005 - 22:11 #3
SELECT ToUser,SUM(Points)
FROM PuroPints
WHERE Year = $Year AND Week = $Week
GROUP BY ToUser
ORDER BY SUM(Points) DESC
LIMIT 10
Avatar billede clausvintherlarsen Nybegynder
05. oktober 2005 - 22:19 #4
$MOTWQuery = mysql_query("SELECT ToUser,SUM(Points) FROM PuroPoints WHERE Year = '$MotWYear' AND Week = '$MotWWeek' GROUP BY ToUser ORDER BY SUM(Points) DESC LIMIT 10");

$MOTWRow = mysql_fetch_array($MOTWQuery)

giver mig:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Programmer\Apache Group\Apache2\htdocs\PureLogin\motw.php on line 74


PHP
Avatar billede clausvintherlarsen Nybegynder
05. oktober 2005 - 22:20 #5
(Mine Variabler var ikke $Year og $Week, men af andet navn... burde dog betyde mindre da de er angivet rigtig nok.
Avatar billede arne_v Ekspert
05. oktober 2005 - 22:23 #6
$MOTWQuery = mysql_query("SELECT ToUser,SUM(Points) FROM PuroPoints WHERE Year = '$MotWYear' AND Week = '$MotWWeek' GROUP BY ToUser ORDER BY SUM(Points) DESC LIMIT 10") or die(mysql_error());

så vi kan hvad der er galt
Avatar billede clausvintherlarsen Nybegynder
05. oktober 2005 - 22:24 #7
Invalid use of group function
Avatar billede arne_v Ekspert
05. oktober 2005 - 22:24 #8
jeg kan ikke forstå dine '' omkring år og uge som jeg formoder er tal, men
jeg mener ikke at det er en fejl i MySQL
Avatar billede clausvintherlarsen Nybegynder
05. oktober 2005 - 22:26 #9
Jeg fjerner dem ;)

$MOTWQuery = mysql_query("SELECT ToUser,SUM(Points) FROM PuroPoints WHERE Year = $MotWYear AND Week = $MotWWeek GROUP BY ToUser ORDER BY SUM(Points) DESC LIMIT 10") or die(mysql_error());

giver stadig:
Invalid use of group function
Avatar billede arne_v Ekspert
05. oktober 2005 - 22:29 #10
har $MotWWeek en værdi ?
Avatar billede clausvintherlarsen Nybegynder
05. oktober 2005 - 22:30 #11
Ja, 39
og $MotWYear er 2005
Avatar billede arne_v Ekspert
05. oktober 2005 - 22:32 #12
har du checket med:

print "SELECT ToUser,SUM(Points) FROM PuroPoints WHERE Year = $MotWYear AND Week = $MotWWeek GROUP BY ToUser ORDER BY SUM(Points) DESC LIMIT 10";

?

fordi umiddelbart synes jeg at det ser rigtigt ud
Avatar billede clausvintherlarsen Nybegynder
05. oktober 2005 - 22:34 #13
Avatar billede arne_v Ekspert
05. oktober 2005 - 22:37 #14
suk

den er hård

prøv at sæt feltnavne i `` (forward ticks) - måske er year eller week reserverede ord
Avatar billede clausvintherlarsen Nybegynder
05. oktober 2005 - 22:40 #15
Hermed også prøvet :(

En hård banan! ;)

Kan ske man skal sove på det og så se ad i morgen ;)
Avatar billede Slettet bruger
06. oktober 2005 - 07:48 #16
Et gæt:

SELECT ToUser,SUM(Points) as SumPoints FROM PuroPoints WHERE Year = $MotWYear AND Week = $MotWWeek GROUP BY ToUser ORDER BY SumPoints DESC LIMIT 10
Avatar billede arne_v Ekspert
06. oktober 2005 - 08:46 #17
den er jo nok nødvendig når man skal have værdien fisket ud

men jeg synes ikke at det burde give fejl i mysql_query
Avatar billede clausvintherlarsen Nybegynder
06. oktober 2005 - 21:05 #18
hsl's as Sumpoints gjorde udslaget...

Hvis i vil  komme med svar skal jeg kaste point efter jer ;)
Avatar billede arne_v Ekspert
06. oktober 2005 - 21:12 #19
svar
Avatar billede Slettet bruger
07. oktober 2005 - 08:39 #20
ja ja men ret skal være ret. Arne gjorde forarbejdet
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