Overide reguliere tijden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Product Developer

ONZE OPDRACHTGEVER Slimstock is specialist in het leveren van kennis en software op het gebied van Forecasting, Demand planning, Supply chain management en Inventory management. Ons softwarepakket Slim4 helpt klanten om de juiste voorraad op het juiste moment op de juiste plaats te krijgen. We helpen onze klanten bij het verlagen van hun voorraad en tegelijkertijd het verhogen van de servicegraad. FUNCTIEOMSCHRIJVING Doel van de functie Als Product Developer Slim4 werk je aan het (door)-ontwikkelen van onze Forecasting & Inventory Management tool Slim4. Hierbij draag je bij aan het maken/opstellen van (technische) specificaties voor onze software programmeurs. Daarnaast werk je

Bekijk vacature »

Junior Developer / Laravel / Maatwerk / grote A-kl

Organisatie Voor een van mijn businesspartners in de regio utrecht ben ik op zoek naar een PHP developer met Laravel kennis. Het is een jonge frisse organisatie van gedreven web specialisten die gespecialiseerd zijn in het maken en onderhouden van webshops en websites. Daarnaast werken ze hard aan het bouwen van portalen voor klanten in de speelgoed, kleding en zelfs de dierenvoedingsindustrie. Dit vinden ze ook het gaafst en doen ze ook het liefst omdat er hier echt geprogrammeerd wordt. Waar je aan moet denken bij deze portalen zijn speciale op maat gemaakte platformen waar klanten hun persoonlijke webshop hebben

Bekijk vacature »

Junior PHP Developer award winnende webshop

Deze award winnende webshop is op zoek naar een Junior / Medior PHP Developer! Je gaat werken aan de interne e-commerce systemen die voor meer dan 42 bv’s de ruggengraat zijn van de onderneming. Het systeem waar de applicaties voor ontwikkelt worden heeft oneindig veel mogelijkheden aan jou de taak om de mogelijkheden te ontdekken. Organisatie Het team gevoel staat centraal binnen deze organisatie. Dit wordt ook direct de eerste dag duidelijk; Zodra je ingewerkt word draai je overal even mee. Je helpt met orders verwerken in het magazijn, kijkt mee hoe verkoop zijn ding doet en gaat in gesprek

Bekijk vacature »

Junior PHP Developer OOP

Organisatie Het bedrijf is nu 8 jaar geleden achter de schermen begonnen met het ontwikkelen van hun product wat volledig gericht is op de “nieuwe mobiliteit”. Wat ze daar mee bedoeling is dat ze echt kijken naar het vervoer van de toekomst. We hebben tegenwoordig zo veel verschillende manieren van vervoeren, welke is nou het beste? Om er voor te zorgen dat al deze verschillende transportmanieren gebundeld zijn hebben ze een nieuw platform ontwikkelt wat de organisatie 1000% per jaar laat groeien en op dit moment 20.000 gebruikers heeft. Zo werken ze samen met grote verzekeraars en automerken om de

Bekijk vacature »

PHP Developer

Organisatie Midden in het centrum van Breda staat een groot kantoorpand, waar hard gewerkt wordt om een groeiend platform internationaal uit te breiden. Op dit moment is dit bedrijf actief in Nederland, België, Spanje en UK. Zij bestaan nog niet zo vreselijk lang maar dit project staat intern bekend als innovatief en baanbrekend, er is weinig concurrentie in de markt en weten zichzelf te onderscheiden doordat ze een breed aanbod hebben. De organisatie bestaat uit 60 medewerkers. Het Ontwikkel team bestaat op dit moment uit 2 ontwikkelaars en een product Owner. Vanuit het team is er veel vertrouwen in de

Bekijk vacature »

Commerciele Medior PHP Developer gezocht!

Organisatie Dit bedrijf is in 2014 gestart nadat twee ervaren IT professionals de handen ineen hebben geslagen om in een zelfgemaakt framework de klant te ontzorgen. Zij focussen zich vooral op het compleet automatiseren van de backoffice waarin ze er voor hebben gezorgd. Hun doelgroep zijn vooral bedrijven die werken met een maandelijks terugkerend verdienmodel omdat zij die gehele administratie uit handen nemen met hun software. Het is een platte organisatie die bestaat uit 7 medewerkers. Iedereen met elkaar in gesprek kan en overlegd. Ze zitten gevestigd in een bank maar zelf gaan ze informeel gekleed naar hun werk en

Bekijk vacature »

Fullstack Javascript/Python Developer gezocht!

Functieomschrijving Binnen het Ontwikkelteam wordt bijna volledig Scrum gewerkt. Het grootste verschil met 'echte' Scrum is dat het hier vaak om langlopende projecten gaat, dus korte sprints zijn niet van toepassing. Zoals je waarschijnlijk al begrepen hebt naar aanleiding van het bovenstaande, kom je terecht in een technisch uitdagende omgeving waar je met nieuwe technieken werkt. Jouw belangrijkste taken zullen het bouwen en onderhouden van applicaties, platformen, testpanels en API's zijn. Dit zal je aan de Frontend doen met Javascript en MeteorJS, aan de Backend met Python en vaak met een MongoDB database. Er wordt niet van jou verwacht dat

Bekijk vacature »

.NET Developer Consultancy Regionaal

Organisatie Ken je dat gevoel dat je ‘één van de zovelen’ bent bij grote consultancybedrijven? Dat niemand weet wie je bent en iedereen zijn eigen werkgebied afschermt in plaats van samen te werken? Daar heb ik de beste remedie tegen gevonden. Lees verder om hier meer over te weten te komen! Dit IT consultancybureau is regionaal ingericht om het bovenstaande probleem te tackelen. Ze hebben verschillende kantoren in Nederland, waar nooit meer dan 35 personen werken, zodat de persoonlijke touch en het teamgevoel nooit verloren gaat. Jij kent iedereen, en iedereen kent jou. Functie Het bedrijf richt zich volledig op

Bekijk vacature »

Innovatieve Senior PHP Developer

Organisatie Het bedrijf is een jonge organisatie die zijn roots heeft in het bouwen van websites maar al snel is gegroeid richting het maken van business apps die lekker werken en er natuurlijk goed uit zien! Toevallig zorgen ze er ook voor dat het rendement oplevert! Zo werken zo op dit moment aan een groot project wat de volledige backoffice van een grote hypotheekverstrekker gaat veranderen en duizenden eindgebruikers gaat hebben. Daarnaast hebben ze een applicatie ontwikkelt voor de logistieke sector die al het papierwerk van chauffeurs digitaal vertaalt naar een “simpele” app in de telefoon. Het bedrijf bestaat nu

Bekijk vacature »

Senior PHP Architect

Organisatie Dit bedrijf is in 2011 ontstaan op een zolderkamertje en ondertussen uitgegroeid tot een organisatie waar meer dan 150 mensen werkzaam zijn. Inmiddels is deze organisatie de marktleider op het gebied van telefoon-accessoires in Nederland. Op dit moment zijn ze “de puntjes op de i”aan het zetten om ook internationaal voet aan de grond te krijgen. Daarnaast zijn ze hun pijlen ook steeds meer aan het richten op de zakelijke markt. De gemiddelde leeftijd binnen deze organisatie is 26, daardoor is de sfeer zeker jong en informeel te noemen. Er zijn geregeld game avonden op de development afdeling. Je

Bekijk vacature »

Business Developer Germany

Discipline Marketing & Sales Location Utrecht (NL) Hours a week 24 As our Junior Business Developer Germany You must love sales! Because YOU will make it your goal to successfully expand our marketplace in Germany. Our ambition to achieve 50% of the German webshop sales through the marketplace will be your goal. You will make this a success because you are commercially driven and convinced of online B2C sales. We trust you to work independently. You have an enthusiastic international team that can get you up to speed. What you will do know how to target future top sellers through

Bekijk vacature »

Startende .NET Programmeur

Bedrijfsinfo De organisatie is ruim 10 jaar geleden opgericht door 2 vrienden die van hun hobby hun werk wilde maken. Het bedrijf liggend in de regio Den Haag bestaat uit 60 werknemers waarvan 6 front end en 28 back end programmeurs en is gelegen in een grote oude kerk. De core business van het bedrijf is het maken innovatieve maatwerking SAAS-oplossingen voor grote partijen als Thomas Cook, Phillips en ASML. Daarbuiten richten ze zich op een stukje maatwebsites en het ontwerpen van huisstijlen van bedrijven. Bij de high-traffic omgevingen word gebruik gemaakt van .NET Core, Azure IoT-hub en Angular. Functieomschrijving

Bekijk vacature »

Medior PHP developer

Organisatie Deze organisatie, gevestigd in meerdere landen in Europa, bestaat nu 8 jaar en groeit nog steeds ieder jaar ontzettend hard. Op dit moment telt het hoofdkantoor in Hilversum zo’n 250 medewerkers. Deze organisatie werkt voor de grote telecom bedrijven en biedt allerlei oplossing voor hun partners, met name gericht op de cloud. Deze organisatie heeft een compleet communicatieplatform vanuit waar zij al hun oplossingen aanbieden. Om de kwaliteit richting partners te garanderen wordt het netwerk ook zelf beheert. De reden dat deze organisatie in de top 20 van alle Nederlandse bedrijven staat met de beste arbeidsvoorwaarden is met name

Bekijk vacature »

Senior C# .NET developer import- exportbranche

Organisatie Deze organisatie is gevestigd in de omgeving van Eindhoven. Deze organisatie is een van de grootste leveranciers van maatwerksoftware binnen de import en export branche. Wanneer je als organisatie wereldwijd aan klanten levert krijg je te maken met de douane. Alle producten die naar het buitenland worden verstuurd moeten worden geregistreerd. Deze organisatie heeft eigen unieke software ontwikkeld om dit proces te automatiseren. Deze organisatie is marktleider op het gebied van import- en export software. Het is een open organisatie die veel waarde hecht aan jouw mening en ervaring. Functie Het team bestaat uit vijf ervaren developers. Van de

Bekijk vacature »

Systeembeheerder

Systeembeheerder Ben jij klaar voor een nieuwe uitdaging binnen een jong en professioneel online marketingbedrijf met een informele werksfeer? Wij zoeken een Systeembeheerder met ervaring en bieden een uitdagende, veelzijdige functie met toekomstperspectief! Werkzaamheden Beheer, onderhouden en inkoop van onze hardware- en software Oplossen van ICT-problemen en -storingen Bijdrage leveren aan ons ICT-beleid en onze hardware- en software infrastructuur Helpen/begeleiden van collega’s Netwerkbeheer, firewall, switch, routers etc. Begeleiden van (Security) Audits Bijhouden en verfijnen van documentatie Profiel MBO+ of HBO werk- en denkniveau Minimaal 5 jaar ervaring met systeembeheer Kennis van Microsoft desktop/server en Linux servers Kennis van netwerkapparatuur, het

Bekijk vacature »
Jop B

Jop B

12/04/2019 00:08:14
Quote Anchor link
Ik heb mijn database als volgt ingedeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
ID-DAY-STARTTIME-ENDTIME-DATE-TYPE

1-maandag-gesloten-NULL-NULL-regular
2-dinsdag-10:00-18:30-NULL-regular
3-woensdag-10:00-18:30-NULL-regular
4-donderdag-10:00-18:30-NULL-regular
5-vrijdag-10:00-18:30-NULL-regular
6-zaterdag-10:00-18:00-NULL-regular
7-zondag-gesloten-NULL-NULL-regular

8-vrijdag-11:00-14:00-2019/04/12-exception
9-zondag-12:00-18:00-2019/04/14-exception
etc

Als ik nu een query maak laad hij alles onder elkaar. Maar als ik voor deze week een uitzondering heb zoals de zondag, hoe kan deze dan overschrijven?

Output nu:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
maandag gesloten
dinsdag 10:00 - 18:30
woensdag 10:00 - 18:30
donderdag 10:00 - 18:30
vrijdag 10:00 - 18:30
zaterdag 10:00 - 18:00
zondag gesloten
vrijdag 11:00 - 14:00
zondag 12:00 - 18:00


Output zoals het zou moeten:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
maandag gesloten
dinsdag 10:00 - 18:30
woensdag 10:00 - 18:30
donderdag 10:00 - 18:30
vrijdag 11:00 - 14:00
zaterdag 10:00 - 18:00
zondag 12:00 - 18:00


Hoe kan ik dit het makkelijkste aanpakken?
 
PHP hulp

PHP hulp

22/04/2019 23:07:28
Honeypot
 
Rob Doemaarwat

Rob Doemaarwat

12/04/2019 10:49:06
Quote Anchor link
Wat is "deze week"? Is dat de huidige week van maandag t/m zondag; vanaf vandaag en dan 7 dagen verder; of wil je die als parameter op kunnen geven ("week 20").

Sowieso zou ik voor TYPE een int of een char(1) nemen (0/null/"r" = regular, 1/"x" = exception).

Waarom je STARTTIME en ENDTIME nog als twee aparte waarden opslaan als het toch geen echte tijden zijn (maar platte tekst). Kun je er net zo goed een enkele string van maken (zoals bij "gesloten" toch al gebeurt).

Moet het perse allemaal in een query, of mag het ook met een stukje PHP (het is hier tenslotten *PHPhulp* hè). Dat laatste is wel het makkelijkst: eerst de regular tijden ophalen (en sorteren op ID, alhoewel een aparte kolom voor de volgorde netter zou zijn), en dan voor "de week" kijken of er uitzonderingen zijn.
 
Adoptive Solution

Adoptive Solution

12/04/2019 13:18:10
Quote Anchor link
Hier een oplossing.
Aanpassen naar smaak.
veldnaam type is tinyint(1 of 0) en de tijdvelden zijn time.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
SELECT *, if( starttime > 0, if(type = 0 ,'Afwijkende openingstijden', 'Open'), 'Gesloten' ) as 'opm'
FROM shophours
WHERE
    ( starttime > 0 AND type = 1 ) OR
    ( starttime = 0 AND type = 1 AND `day` IN( 'Maandag','Zondag' ) )
ORDER BY FIELD( `day`, 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrijdag', 'Zaterdag', 'Zondag' )
LIMIT 50;

SELECT *, if( starttime > 0, if(type = 0 ,'Afwijkende openingstijden', 'Open'), 'gesloten') as 'opm'
FROM shophours
WHERE
    ( starttime > 0 AND type = 1 ) OR
    ( starttime = 0 AND type = 1 AND `day` = 'Maandag' ) OR
    ( `date` = '2019-04-14' )
ORDER BY FIELD( `day`, 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrijdag', 'Zaterdag', 'Zondag' )
LIMIT 50;

SELECT *, if( starttime > 0, if(type = 0 ,'Afwijkende openingstijden', 'Open'), 'Gesloten' ) as 'opm'
FROM shophours
WHERE
    ( starttime > 0 AND type = 1 AND `date` = 0 AND `day` <> 'Vrijdag' ) OR
    ( starttime = 0 AND type = 1 AND `day` IN( 'Maandag', 'Zondag' ) ) OR
    ( starttime = 0 AND type = 1 AND `day` = 'Maandag' ) OR
    ( `date` = '2019-04-12' )
ORDER BY FIELD( `day`, 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrijdag', 'Zaterdag', 'Zondag' )
LIMIT 50;
 
Jop B

Jop B

12/04/2019 13:26:41
Quote Anchor link
Hallo Rob,

De velden start en end time Kan door de gebruiker worden ingevuld in het administratie dashboard. De vaste dagen staan al vast in de tabel dat zijn de ID's 1 t/m 7.

Daarnaast kan de gebruiker ook een datum invullen met de tijden die dan gelden. En deze moeten dan overschreven worden voor die week waarin de datum valt.
De week mag inclusief vandaag 7 dagen hebben zoals in mijn eerste post aangegeven.

Als dit met php makkelijk is of beter is dan mag dit natuurlijk in PHP zijn :)
 
Adoptive Solution

Adoptive Solution

12/04/2019 14:40:33
Quote Anchor link
Je aanvullende info is irrelevant.
Het gaat niet om wie wat invult, maar om wat er in de database zit en hoe je dat eruit haalt.
Ik heb 3 voorbeelden gegeven op basis van je gegegevens.
 
Rob Doemaarwat

Rob Doemaarwat

12/04/2019 15:17:08
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function get_all_records($sql){
  global $conn;

  $query = $conn->query($sql);
  $result = [];
  while($row = $result->fetch_assoc()) $result[array_shift($row)] = $row;
  return $result;
}

$sql = "select SH.DAY,SH.STARTTIME,SH.ENDTIME from SHOPHOURS SH where SH.TYPE = ";
$shop_hours = array_merge(
  get_all_records($sql . "0 order by SH.ID"),
  get_all_records($sql . "1 and YEARWEEK(`DATE`) = '201915'")
);

Levert een array $shop_hours met als key de DAY van de week (in de juiste volgorde), en in de value een array met START- en ENDTIME.
 
Jop B

Jop B

12/04/2019 22:53:21
Quote Anchor link
@Adoptive Solution @Rob,

Thanks ik ga hier mee aan de slag :)

@Rob
"als het toch geen echte tijden zijn (maar platte tekst)" hoe zou jij de tijden dan opslaan met strtotime?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$endtime
= date('H:i:s', strtotime('16:30'));
?>

Ik heb de start en de eindtijd apart zodat je nog eventueel een functie kan maken met bijvoorbeeld sluit over 15 minuten.
Gewijzigd op 12/04/2019 22:56:52 door Jop B
 
Rob Doemaarwat

Rob Doemaarwat

12/04/2019 23:02:03
Quote Anchor link
Als een TIME of gewoon als een INT (seconden na middernacht). Dan kun je d'r inderdaad echt mee rekenen.
 
Jop B

Jop B

13/04/2019 00:19:32
Quote Anchor link
Heb het nu als volgt

INDELING TABEL
id [int(11) ai]
day [varchar(255)]
starttime [time]
endtime[time]
date [date]
type [int(1)] (0 = regulier) (1 = afwijkend)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$conn
= new mysqli($dbhost, $dbusername, $dbpassword, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

echo "Connected successfully";

function
get_all_records($sql){
  global $conn;

  $result = $conn->query($sql);
  $result = [];
  while($row = $result->fetch_assoc()) $result[array_shift($row)] = $row;
  return $result;
}


$sql = "SELECT day, starttime, endtime FROM schedule WHERE type = ";
$shop_hours = array_merge(
  get_all_records($sql . "0 ORDER BY id"),
  get_all_records($sql . "1 and YEARWEEK('DATE') = '201915'")
);

echo $shop_hours;
?>


Het enigste wat ik nu terug krijg is de connection succesfully
Gewijzigd op 13/04/2019 00:19:45 door Jop B
 
Rob Doemaarwat

Rob Doemaarwat

13/04/2019 09:00:13
Quote Anchor link
$shop_hours is een array, die zul je dus met var_dump($shop_hours) of print_r($shop_hours) moeten tonen.
 
Thomas van den Heuvel

Thomas van den Heuvel

13/04/2019 15:14:59
Quote Anchor link
De vraag is ook, hoe vaak treden er uitzonderingen op, en hoeveel moeite wil je qua (programmeer- en) invulwerk doen.

Als je dit vraagstuk van een afstandje bekijkt dan heb je in principe een soort van roostersjabloon (zij het abstract) dat meestal wel klopt. Vervolgens vertaal je dit naar een (concreet) weekrooster. Wat je dus ook zou kunnen doen is voor dit laatste een (wederom concrete) tabel introduceren. Het sjabloon zou je dan als aardappelstempel kunnen gebruiken voor het invullen van een weekrooster waarbij je een weeknummer of iets dergelijks toevoegt.

Bijkomend voordeel (als dit interessant is of kan zijn voor statistiek) is dat je een history opbouwt van wanneer het filiaal concreet open was. En over filiaal gesproken, dit kun je dus nog verder uitbreiden naar een variant waarbij verschillende filialen (ten opzichte van elkaar) afwijkende openingstijden hebben.

Op deze manier heb je een redelijk generiek stuk software wat ook vaker inzetbaar zou kunnen zijn.

Vaak is men op deze site (vrijwel alleen) met specifieke implementaties bezig. Daar is in principe niks mis mee en die zijn vaak ook prima voor wat er moet gebeuren en wellicht nog belangrijker, de aanpak wordt ook onderbouwd, maar dit zou je er niet van moeten weerhouden om gewoon eens wat op een blaadje te kliederen of wat te mijmeren over wat er nu concreet zou moeten gebeuren. Dat is nog altijd minder werk dan code kloppen en wellicht levert dat nieuwe ideeën en/of perspectieven op.
 
Jop B

Jop B

13/04/2019 19:38:51
Quote Anchor link
@rob,

Ik heb regel 6 aangepast
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
while($row = $query->fetch_assoc()) $result[array_shift($row)] = $row;


Nu krijg ik de array terug

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
Array (
    [maandag]     => Array ( [starttime] => 10:00:00 [endtime] => 18:30:00 )
    [dinsdag]     => Array ( [starttime] => 10:00:00 [endtime] => 18:00:00 )
    [woensdag]    => Array ( [starttime] => 10:00:00 [endtime] => 18:30:00 )
    [donderdag]   => Array ( [starttime] => 10:00:00 [endtime] => 18:30:00 )
    [vrijdag]     => Array ( [starttime] => 10:00:00 [endtime] => 22:00:00 )
    [zaterdag]    => Array ( [starttime] => 10:00:00 [endtime] => 18:00:00 )
    [zondag]      => Array ( [starttime] => 12:00:00 [endtime] => 18:00:00 )
)
Gewijzigd op 13/04/2019 19:40:12 door Jop B
 
Rob Doemaarwat

Rob Doemaarwat

13/04/2019 20:00:26
Quote Anchor link
** garantie tot de deur **
 
Bryan De Baar

Bryan De Baar

14/04/2019 22:58:58
Quote Anchor link
Kun je bijvoorbeeld ook sorteren op
[zondag] = vandaag
[maandag]
[dinsdag]
[woensdag]
[donderdag]
[vrijdag]
[zaterdag]


[maandag] = vandaag
[dinsdag]
[woensdag]
[donderdag]
[vrijdag]
[zaterdag]
[zondag]

[dinsdag] = vandaag
[woensdag]
[donderdag]
[vrijdag]
[zaterdag]
[zondag]
[maandag]

Dat het steeds een dag opschuift? Of kun je dan met PHP een een switch day maken en dan per dag een output geven?
 
Rob Doemaarwat

Rob Doemaarwat

15/04/2019 07:13:16
Quote Anchor link
Ipv "order by ID" doe je dan "order by mod(ID + 7 - " . date('N') . ",7)" (mod() = modulo functie). Voor de woensdag bijvoorbeeld (ID = 3, date('N') = 3) wordt het dan:
maandag: mod(1+7-3,7) = 5
dinsdag: mod(2+7-3,7) = 6
woensdag: mod(3+7-3,7) = 0
donderdag: mod(4+7-3,7) = 1
vrijdag: mod(5+7-3,7) = 2
zaterdag: mod(6+7-3,7) = 3
zondag: mod(7+7-3,7) = 4
Als je dus op deze waarde sorteer komt het netjes in de volgorde woensdag ("vandaag") t/m dinsdag.
 
Thomas van den Heuvel

Thomas van den Heuvel

15/04/2019 16:21:27
Quote Anchor link
Dit zou je in de database kunnen doen, maar zou je ook in PHP op eenzelfde wijze op kunnen oplossen. Je hoeft niet per se alles in de query te regelen.

In eerste instantie is het zaak dat de query alle benodigde gegevens ophaalt, liefst in een zo kant-en-klaar mogelijk formaat. Stel dat je later de indelingsweergave van het rooster weer wilt veranderen, als je alle logica in je query stopt zul je dan je SQL-code moeten veranderen. Ik denk dat het aanpassen van PHP-code om data wat anders weer te geven makkelijker is dan een complete query omschrijven.

Begrijp mij niet verkeerd, de ene aanpak is niet beter of slechter dan de ander, maar ik zou gaan voor een strategie waarbij alles zo simpel mogelijk blijft en ik denk dat een soort van gespreide aanpak je hiermee kan helpen.
 
Bryan De Baar

Bryan De Baar

18/04/2019 19:51:03
Quote Anchor link
Wat @Rob schreef werkt prima :)
@thomas,

Wat jij bedoeld is alle data wat in de tabel zit laden in een array en vervolgens mij PHP het gaan sorteren hoe en welke data je wilt laten zien?
Natuurlijk zijn openingstijden klein qua data maar als je nu een hoop data moet laden en dan nog met PHPmoet gaan sorteren is het dan niet sneller om dit al gelijk in de SQL query te doen?
 
Rob Doemaarwat

Rob Doemaarwat

18/04/2019 20:20:07
Quote Anchor link
Mwa ... als er geen index op zit (op de kolom/manier waarop je gaat sorteren, zoals hier ivm gebruik van een functie) gaat MySQL vaak meteen met een tijdelijke tabel aan de slag (= gedoe op disk), ook bij kleine hoeveelheden data. Sorteren in PHP gaat in memory, dus vele malen efficiënter (voor kleine hoeveelheden data!). Maar desalniettemin ga je het verschil nauwelijks merken (wederom: bij kleine hoeveelheden data).

Zelf zou ik hier gewoon voor het gemak gaan dat je alles in 1x kant-en-klaar hebt. Daarnaast kun je dit soort dingen natuurlijk prima cachen.
Gewijzigd op 18/04/2019 20:21:15 door Rob Doemaarwat
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.