Meerdere ratings toevoegen
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
Je bedoelt meerdere sterretjes?
Dus bijv. tutorial 1 raten, een icon raten.
Snap je?
Gewijzigd op 01/01/1970 01:00:00 door Jan Eduard
Tuurlijk, gewoon meerdere tabellen maken (of je huidige tabel uitbreiden met een veld waarin je aangeeft wat het is [normaliseren]).
Want ik wil het gewoon bij 1 database houden.
Gewijzigd op 01/01/1970 01:00:00 door Jan Eduard
Om een tabel te maken heb je absoluut geen nieuwe DB nodig.
Je kan een tabel kopieeren, makkelijk met PhpMyAdmin.
In je code verander je dan de naam van de tabel waar nodig.
Is er geen makkelijkere manier?
Rating
ID
typeid
itemid
rating
In het type heb je dan aangegeven of het om een tutorial, icon of wat dan ook staan (alleen met het id, je hebt een losse tabel met alle mogelijke typen, om dit ook eenvoudig uit te kunnen breiden)
Het itemid is het id uit de tabel waarin je de tutorial/ icon enz. hebt opgeslagen.
Ik ga uit van wat ik denk dat jou datamodel is,maar die is niet juist!
tutorial lees je hoe dat precies in zijn werk gaat...
Het is al vaker genoemd in dit topic, maar ga normaliseren. In deze Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
@Blanche; Ik snap helemaal niks van die tutorial.
Een andere tutorial over hetzelfde onderwerp is deze, wellicht dat deze duidelijker voor je is?
ps. Het komt erop neer dat normaliseren een middel is om tot een correct datamodel (het doel) te komen. Een correct datamodel vormt op zijn beurt weer de basis van ieder goed systeem, en zonder goede basis ben je nergens.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Maar, in in dat script zit al een database model
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.
"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...
En dat stukje PHP code zegt nog minder, dat heeft immers helemaal niets met je database te maken...
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?
Gewijzigd op 01/01/1970 01:00:00 door Jan Eduard
Quote:
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).ENGINE=MyISAM
@ 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 ;)
Gewijzigd op 01/01/1970 01:00:00 door Thijs X
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)?