hente efter 2 tabeller

Tags:    php

Hejsa

Jeg har en tabel der hedder hotornot og en der hedder votes. Jeg vil så lave en topliste, hvor folk kan se hvem der er bedst bedømte, så den skriver:

Christina 9.20
Mette 9.15

Nogle der kan gøre det?

Spørg endelig hvis i ikke forstår.



8 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Hejsa

Jeg har en tabel der hedder hotornot og en der hedder votes. Jeg vil så lave en topliste, hvor folk kan se hvem der er bedst bedømte, så den skriver:

Christina 9.20
Mette 9.15

Nogle der kan gøre det?

Spørg endelig hvis i ikke forstår.


http://dev.mysql.com/doc/mysql/en/join.html

Helt præcist vil dette interessere dig:
Fold kodeboks ind/udKode 


Det kræver jo sådan set bare at du har en (auto_increment og primary_key) 'id' kolonne i hver tabel.
Så håber jeg at du kan regne resten ud - ellers må du jo bare spørge igen.

1101110100010110000101000001

Killers don't end up in jail - they end up on a high-score!

[Redigeret d. 07/05-05 15:18:33 af Nicolai Lyster Fersner]




Helt præcist vil dette interessere dig:
Fold kodeboks ind/udKode 



Hvis så jeg skal hente information om en bruger i hotornot også i votes tælle alle stemmerne, hvor userid er = hotornot id også regne gennemsnittet ud og afrunde til 2 decemaler.

Du kan finde 2 decimaler ved at gange med 100, afrunde og derefter dividere med 100

Hilsen Mathias




Helt præcist vil dette interessere dig:
Fold kodeboks ind/udKode 



Hvis så jeg skal hente information om en bruger i hotornot også i votes tælle alle stemmerne, hvor userid er = hotornot id også regne gennemsnittet ud og afrunde til 2 decemaler.




Helt præcist vil dette interessere dig:
Fold kodeboks ind/udKode 



Hvis så jeg skal hente information om en bruger i hotornot også i votes tælle alle stemmerne, hvor userid er = hotornot id også regne gennemsnittet ud og afrunde til 2 decemaler.

Du kan finde 2 decimaler ved at gange med 100, afrunde og derefter dividere med 100

Hilsen Mathias


Ja det ved jeg godt, men hvordan lægger jeg alle dem fra votes, hvor userid er den samme også henter den ud fra hotornot, hvor id = userid, hvor gør jeg det? Så jeg får top 50 bedst score?




Helt præcist vil dette interessere dig:
Fold kodeboks ind/udKode 



Hvis så jeg skal hente information om en bruger i hotornot også i votes tælle alle stemmerne, hvor userid er = hotornot id også regne gennemsnittet ud og afrunde til 2 decemaler.

Du kan finde 2 decimaler ved at gange med 100, afrunde og derefter dividere med 100

Hilsen Mathias


Ja det ved jeg godt, men hvordan lægger jeg alle dem fra votes, hvor userid er den samme også henter den ud fra hotornot, hvor id = userid, hvor gør jeg det? Så jeg får top 50 bedst score?

hvordan ser dine to tabeller ud??

Hilsen Mathias



CREATE TABLE `hotornot` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
`userid` INT( 255 ) NOT NULL ,
`img_type` VARCHAR( 255 ) NOT NULL ,
`img_accepted` VARCHAR( 255 ) NOT NULL ,
PRIMARY KEY ( `id` )
);

CREATE TABLE `votes` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
`vote` INT( 255 ) NOT NULL ,
`vote_on` INT( 255 ) NOT NULL ,
`ip` VARCHAR( 255 ) NOT NULL ,
PRIMARY KEY ( `id` )
);



du kan sikkert bruge sql-funktionerne count() og sum() sammen med den query der allerede er foreslået.



SELECT COUNT(vote) AS count, AVG(vote) AS avg, userid, hotornot.id FROM hotornot INNER JOIN votes ON hotornot.id = votes.vote_on GROUP BY votes.vote_on ORDER BY avg DESC



t