Naam bestand & database
"SELECT * FROM [PAGINANAAM (zonder .php)] WHERE blabla = blala
hoe doe ik dit?
Het is zo ie zo al niet handig om:
-> 1 op 1 naam van php script te koppelen aan een tabel naam
-> je er niet verstandig aan doet om de tabel naam in je SQL-Statement variabel te maken
en er zullen vast nog wel meer redenen te bedenken zijn.
Quote:
Het lijkt me dat hier iets gruwelijk mis gaat! Aparte tabellen voor elke pagina van je website? Dat kan niet juist zijn!met bij elk bestand een tabel in mijn mysql( met dezelfde naam als de pagina)
Ga normaliseren en zorg dat je met een juist datamodel van start gaat...
Ik wil namelijk controleren of iemand van mijn leden al heeft deelgenomen aan de quiz, alleen daarvoor heb ik de naam van de quiz nodig en dat is het PHP bestandsnaam & de mysqltabelnaam
Gewijzigd op 01/01/1970 01:00:00 door Kevin de Jong
Luister naar Blanche en ga normaliseren.
Nog even voor de duidelijkheid, het is dus niet mogelijk de naam van het php bestand op te roepen dat je op dat moment aan het bekijken bent?
Quote:
En dat is dus fout! Elke quiz zal in een goed genormaliseerde opzet waarschijnlijk niet meer dan een enkel record in de tabel 'quizzes' zijn. Voor de inhoud van de quiz en de gegeven antwoorden door gebruikers, zul je op hun beurt weer aparte tabellen nodig hebben...en elke quiz krijgt zn eigen tabel
Maar goed, als je gaat normaliseren kom je vanzelf op het juiste datamodel uit!
ps.
Quote:
Uiteraard is dat wel mogelijk:het is dus niet mogelijk de naam van het php bestand op te roepen dat je op dat moment aan het bekijken bent?
Maar goed, dit is een klein probleempje waar je nu tegen aan loopt. Maar als je met deze opzet verder gaat zul je later met veel grotere problemen te maken krijgt tot op het punt waar je echt vast loopt. En om dan je hele systeem nog eens om te gooien is geen pretje! Kortom, wees verstandig en ga nu op de juiste manier van start.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CREATE TABLE `voetbalquiz` (
`id` smallint(5) NOT NULL auto_increment,
`name` varchar(30) default NULL,
`score` int(11) default NULL,
`q1` tinyint(1) default NULL,
`q2` tinyint(1) default NULL,
`q3` tinyint(1) default NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
--
-- Gegevens worden uitgevoerd voor tabel `voetbalquiz`
--
INSERT INTO `voetbalquiz` VALUES (1, 'testje', 100, 1, 1, 1);
`id` smallint(5) NOT NULL auto_increment,
`name` varchar(30) default NULL,
`score` int(11) default NULL,
`q1` tinyint(1) default NULL,
`q2` tinyint(1) default NULL,
`q3` tinyint(1) default NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
--
-- Gegevens worden uitgevoerd voor tabel `voetbalquiz`
--
INSERT INTO `voetbalquiz` VALUES (1, 'testje', 100, 1, 1, 1);
er staat nu slechts 1 in, en het zijn nu slechts 3 vraagjes maar dit is wel de bedoeling van mijn quiz, een volgende quiz zou dus een volgende tabel zijn
En zoals nou al drie keer gezegd is, dat is fout. Ga eerst normaliseren. Je hebt echt geen tabel nodig voor elke quiz
Kevin, wil je je probleem nu opgelost hebben of niet? Zo ja, dan zul je toch echt moeten gaan normaliseren, want je probleem wordt veroorzaakt door de foute opzet die je gebruikt!