Avatar billede claus_larsen Nybegynder
24. juni 2003 - 02:10 Der er 17 kommentarer og
1 løsning

Array problemer

Hej Eksperten

Jeg har lidt bøvl med mine arrays....

Håber i kan hjælpe mig...

Jeg har en tabel i en MySQL database over nogle stemmer, som er givet til en bruger (UserID). Man stemmer hver måned fra den 26. til måneden slytter... Det vil sige når vi når den 1. skal den hente stemmerne der er afgivet i forrige måned fra databasen, tælle dem sammen, og finde det UserID som har fået flest stemmer...

Databasen ser således ud:
CREATE TABLE MånedensSleepWalker (
  ID int(10) NOT NULL auto_increment,
  AntalStemmer int(3) NOT NULL default '0',
  VoteUserID int(5) NOT NULL default '0',
  UserID int(5) NOT NULL default '0',
  Kommentar text NOT NULL,
  Date date NOT NULL default '0000-00-00',
  PRIMARY KEY  (ID)
) TYPE=MyISAM COMMENT='VoteUserID er den der afgiver stemmen. UserID er den der mod';

AntalStemmer er antallet af stemmer som er givet til denne person (Man kan godt give mere end 1 stemme/point til 1 person)
VoteUserID Er ID på den person der har stemt
UserID er den person der er stemt på, som vi skal finde frem til.
Kommentar Knytter en kommentar til hvorfor man vil give UserID sin stemme.
Date skal vi bruge til at finde den rigtige måned med!

Håber der er nogen der kan hjælpe mig!
Avatar billede detox Nybegynder
24. juni 2003 - 04:19 #1
Hvor mange stemmer har man?
Avatar billede claus_larsen Nybegynder
24. juni 2003 - 08:39 #2
Det er angivet i AntalStemmer feltet. Det kan variere fra post til post
Avatar billede andy Nybegynder
24. juni 2003 - 09:03 #3
SELECT sum(AntalStemmer) AS total_stemmer, UserID FROM MånedensSleepWalker GROUP BY UserID ORDER BY total_stemmer DESC LIMIT 1
Avatar billede claus_larsen Nybegynder
24. juni 2003 - 09:17 #4
Ok... Du smider det så lige af i en SQL sætning der Andy...

Har ikke testet det endnu, men går næsten ud fra det virker!

Vil du ikke lige forklare mig sætningen sådan jeg nogenlunde kan fatte hvad der sker???  Hader bare at copy/paste kode ind uden at vide hvordan det fungerer!
Avatar billede claus_larsen Nybegynder
24. juni 2003 - 09:26 #5
Hov Andy... Kom lige til at tænke... Den mangler at tage det for den pågældne måned og år...

Hvordan trækker jeg informationerne ud?

mysql_fetch_array eksempelvis?
Avatar billede claus_larsen Nybegynder
24. juni 2003 - 09:29 #6
Undskyld... Ikke for den pågældne måned men...

Man stemmer hver måned fra den 26. til måneden slytter... Det vil sige når vi når den 1. skal den hente stemmerne der er afgivet i forrige måned fra databasen, tælle dem sammen, og finde det UserID som har fået flest stemmer...


Har fået din SQL til at virke... Det må jeg sige.. .BRAVO!
Avatar billede andy Nybegynder
24. juni 2003 - 09:40 #7
Har du selv addet en passende WHERE?
Avatar billede claus_larsen Nybegynder
24. juni 2003 - 09:48 #8
Nej...

Kan ikke lige regne ud hvordan...

Jeg har månedstallet (Forrige måned) som variabel $PreviousMonth
Året ligeledes som $CurrentYear

Men jeg er ikke særlig god til SQL, så lige at få den til at udvælge de poster fra Tabelen.. Ved ikke hvordan man gør....

I Databasen står Datoen på formatet 2003-06-24
24 er jo ligegyldig....
???
Avatar billede andy Nybegynder
24. juni 2003 - 09:57 #9
SELECT sum(AntalStemmer) AS total_stemmer, UserID FROM MånedensSleepWalker WHERE MONTH(Date)='$PreviousMonth' GROUP BY UserID ORDER BY total_stemmer DESC LIMIT 1
Avatar billede claus_larsen Nybegynder
24. juni 2003 - 10:06 #10
Kan du smide året ind også??? Så er jeg tilfreds!!! ;)
Avatar billede claus_larsen Nybegynder
24. juni 2003 - 10:06 #11
Du kan virkelig dit SQL!!! ;)

Hvor har du lært det henne?
Avatar billede claus_larsen Nybegynder
24. juni 2003 - 10:31 #12
Andy... Opretter du lige et Svar så du kan få dine point???

Vil gerne sige tusind tak for hjælpen...
Avatar billede andy Nybegynder
24. juni 2003 - 10:32 #13
SELECT sum(AntalStemmer) AS total_stemmer, UserID FROM MånedensSleepWalker WHERE MONTH(Date)='$PreviousMonth' AND YEAR(Date)='$CurrentYear' GROUP BY UserID ORDER BY total_stemmer DESC LIMIT 1

"Træning" hvis man kan kalde det det, og nogle gode bøger :D
Avatar billede claus_larsen Nybegynder
24. juni 2003 - 10:55 #14
Kan du anbefale nogle bøger?
Avatar billede andy Nybegynder
24. juni 2003 - 10:58 #15
Kan sku ikke lige huske hvad de hedder lige nu og her. Skriver når jeg kommer hjem.
Avatar billede detox Nybegynder
24. juni 2003 - 11:26 #16
Nå, ok. Jeg tænkte på, hvor mange stemmer man kunne afgive. Jeg troede du havde problemer med INSERT-delen.
Avatar billede abpdk Nybegynder
24. juni 2003 - 22:57 #17
Det der går da ikke hvis man er i januar. Så vil den forrige måned være december, men årstallene vil jo ikke stemme overens.

Mangler der forresten ikke også en "AND DAYOFMONTH(Date)>25", for at være sikker på at dagene før d. 26 ikke bliver talt med (hvis der da er nogle!?)?
Avatar billede detox Nybegynder
25. juni 2003 - 00:25 #18
Jo, den skal vidst lige finpudses ;-)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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