Først lige "baggrunds viden"; CREATE TABLE `ratings` ( `id` varchar(11) NOT NULL, `total_votes` int(11) NOT NULL default '0', `total_value` int(11) NOT NULL default '0', `used_ips` longtext, PRIMARY KEY (`id`) );
CREATE TABLE `game_games` ( `id` int(3) NOT NULL auto_increment, `navn` varchar(50) NOT NULL, `kategori` varchar(3) NOT NULL, `link` varchar(100) NOT NULL, `file` varchar(100) NOT NULL, `billede` varchar(100) NOT NULL, `beskrivelse` text NOT NULL, PRIMARY KEY (`id`) );
Sådan ser 2 tabeller ud, som jeg gerne vil hive en linje ud af. Den skal indeholde id, navn, billede og beskrivelse sortert efter rating. ID i de 2 tabeller er referencen mellem dem.
Jeg er helt på barbund og håber at nogen vil hjælpe :)
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
CREATE TABLE IF NOT EXISTS `game_ratings` ( `id` int(9) NOT NULL AUTO_INCREMENT, `FK_games_ID` int(9) NOT NULL, `rate` tinyint(9) NOT NULL, `ip` varchar(200) NOT NULL, PRIMARY KEY (`id`) )
Så skal det bare hentes:
SELECT *, AVG(gr.rate) as avg, COUNT(gr.id) as total FROM game_games gg LEFT JOIN game_ratings gr ON gr.FK_games_id = gg.id WHERE gg.id = 1
Når jeg lige læser igen, kan jeg se at query'en skal rettes til:
SELECT gg.*, AVG(gr.rate) as avg, COUNT(gr.id) as total FROM game_games gg LEFT JOIN game_ratings gr ON gr.FK_games_id = gg.id GROUP BY gg.id ORDER BY avg DESC
Så indsætter du en række hver gang en bruger stemmer. FK_games_id er id'et i game_games. FK står for Foreign Key, det er altså din primary key i games tabellen.
Gammel ulukket tråd, beklager. hvis du vil have point fant0mas, så smid et svar :)
Synes godt om
Ny brugerNybegynder
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.