Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 23-09-2003, 18:26
Martin
Avatar van Martin
Martin is offline
Ik ben momenteel bezig met een website voor een bioscoop. Ik zit nu met een klein dilemma/probleempje, hoe krijg ik mijn doel efficiënt?

Ik heb 2 tabellen, een tabel 'movies' en een tabel 'timetable'.

De tabel 'movies' in verkorte vorm:
PHP-code:
#
# Tabel structuur voor tabel `movies`
#

CREATE TABLE movies (
  
mid int(11NOT NULL auto_increment,
  
title varchar(75NOT NULL default '0',
  
image varchar(200NOT NULL default '',
  
kijkwijz int(1NOT NULL default '0',
  
PRIMARY KEY  (mid)
TYPE=InnoDB ROW_FORMAT=COMPRESSED
De tabel 'timetable' in volledige vorm:
PHP-code:
CREATE TABLE timetable (
  
timetable_id int(10NOT NULL auto_increment,
  
mid int(8NOT NULL default '0',
  
week int(2NOT NULL default '0',
  
year int(4NOT NULL default '0',
  
day0 varchar(250NOT NULL default '',
  
day1 varchar(250NOT NULL default '',
  
day2 varchar(250NOT NULL default '',
  
day3 varchar(250NOT NULL default '',
  
day4 varchar(250NOT NULL default '',
  
day5 varchar(250NOT NULL default '',
  
day6 varchar(250NOT NULL default '',
  
PRIMARY KEY  (timetable_id)
TYPE=MyISAM
'week' en 'year' in de tabel timetable worden gevuld volgens de standaard die PHP-hanteerd.

In 'day*' zitten de speeltijden, gescheiden door '+'. Die explode ik zodat ik netjes aparte tijden heb. Dat is allemaal geen probleem.

Maar nu komt mijn probleem:
---------------------------------------------------

Hoe trek ik de boel efficiënt uit de database? Er moet een navigatie komen van vorige/volgende week. Rekeninghoudend met volgende week als deze in een ander jaar valt, of als vorige week in het vorige jaar valt.

Help!
Met citaat reageren
Advertentie
Oud 23-09-2003, 18:39
Verwijderd
Citaat:
Martin schreef op 23-09-2003 @ 19:26:
Rekeninghoudend met volgende week als deze in een ander jaar valt, of als vorige week in het vorige jaar valt.
Dat is toch niet zo moeilijk?

week > 52 => jaar++; week = 1
week < 1 => jaar --; week = 52

Het wordt pas ingewikkelder als je de datum erbij moet zetten (bijvoobeeld:
week 1: donderdag 1 januari 2004)
Met citaat reageren
Oud 24-09-2003, 01:15
Manuzhai
Avatar van Manuzhai
Manuzhai is offline
Ook met datum vanuit week is goed te doen hoor. Overigens zou ik als eerste willen opmerken dat ik je database-model suboptimaal vind. Als ik jou was zou ik een tabel screenings maken als volgt:
Code:
CREATE TABLE `screenings` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`movie` INT UNSIGNED NOT NULL ,
`day` TINYINT( 1 ) UNSIGNED NOT NULL ,
`startdate` DATE NOT NULL ,
`enddate` DATE NOT NULL ,
`starttime` TIME NOT NULL ,
PRIMARY KEY ( `id` ) ,
INDEX ( `movie` )
);
Op die manier kun je vrij gemakkelijk kijken op welke dagen tussen welke data welke films draaien.
__________________
Slechts beschikbaar via naamzoek/privebericht.
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 09:48.