Beste PHP'ers,
Ik maak gebruikt van dit; http://www.phphulp.nl/php/scripts/1/1267/ script.
Maar hoe kan ik meerdere ratings toevoegen, en dan bedoel ik niet dat je dan een nieuwe database aan moet maken. Maar gewoon zodat je bijv. allemaal ID's hebt en gewoon verschillende ratings kunt geven voor iets.

BVD
Maar, in in dat script zit al een database model
Ja, dat datamodel is geschikt voor de toepassing die dat script verzorgt. Als jij iets anders wilt of dat wilt uitbreiden, zul je waarschijnlijk ook aanpassingen in je datamodel moeten aanbrengen.

Om te weten welke aanpassingen moet je weten hoe je datamodel eruit moet komen te zien en dat is precies waarom je moet gaan normaliseren. Pas als je dat doet, weet je hoe je datamodel eruit komt te zien en of je het bestaande kunt uitbreiden of dat je iets nieuws moet verzinnen.
Ik heb zoals Robert Deiman zei gekeken naar een koppeltabel tutorial, en daar is dit uitgekomen;
"Rate" (tabelnaam)
ID
rateID
rating

Ik gebruik geen andere velden, en ik denk dat dit een goed model is, ofniet?
Geen idee, dat is afhankelijk van de rest van je datamodel...
Ja ik denk het wel, want ik wil voor een nieuw item het bijv. zo gaan doen;

<?php
require("naamvanratepagina.php");
rateID = 1;
?>
Als je te werk gegaan bent zoals in beide tutorials die ik gaf beschreven wordt, zal het vast wel kloppen. Maar nogmaals, zonder de rest van je datamodel kunnen wij daar geen oordeel over vellen.

En dat stukje PHP code zegt nog minder, dat heeft immers helemaal niets met je database te maken...
Ok ik heb nu (via PhpMyAdmin), ik denk dat dat wel kan, dit.


CREATE TABLE `starrating` (
`id` int(11) NOT NULL auto_increment,
`rating_id` int(11) NOT NULL,
`rating_num` int(11) NOT NULL,
`IP` varchar(25) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Klopt dat?
Wat is het doel van de kolommen rating_id en rating_num? En is dit verder de enige tabel die je gebruikt?

ENGINE=MyISAM
Dit is sowieso niet echt handig, met MyISAM kun je namelijk onmogelijk een relationele database opzetten aangezien je geen foreign keys aan kunt maken. Gebruik InnoDB en breng je FK's op een juiste manier aan (als je meerdere tabellen die onderlinge relaties hebben hebt uiteraard).
Blanche volgens mij praat je nu echt geheim taal voor de topicstarter :P

@ TS,
Neem eerst eens even wat basis artikelen grondig door zodat je weet wat alles inhoud, en als je denkt dat je dat allemaal even in paar uurtjes kan doen raad ik aan om wat meer tijd vrij te maken ;)
@Thijs; Ja ik snap er helemaal niks van.
En het is wel overduidelijk dat ik pas sinds gisteren met mysQl bezig ben.
De doel van de kolommen rating_id en rating_num (Rating ID; Het unieke ID van de rating, Rating Num; Het nummer van de rating om raten)?

Reageren