Overide reguliere tijden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior .NET Ontwikkelaar

Organisatie De organisatie bestaat al sinds 2003 en sinds 2011 onder een nieuwe naam. In de schaduw van Delft heeft dit bedrijf zich ontpopt tot waardige speler. Door de kansen in de markt is dit bedrijf aan het groeien en willen zij internationaal steeds meer landen veroveren met de SaaS oplossing en tijdbesparende producten (Continues Delevery) die zij onder andere aanbieden. Volgend jaar zullen zij de 1000 klanten aan tikken en zul jij jouw te gekke oplossingen tot leven wekken voor internationaal publiek. Het bedrijf is een Marketplace Integrator. Ze koppelen grote en kleine internationale verkopers aan marktplaatsen zoals Beslist.nl,

Bekijk vacature »

Java Developer (Software Specialist)

Wat doe je als Java Developer (Software Specialist) bij TenneT? Samen met vakbroeders en softwarespecialisten, ben je verantwoordelijk voor de ontwikkelijking van o.a. een nieuw Java platform. Je begeeft je binnen een complexe en uitdagende omgeving waar creativiteit en initiatief voor nieuwe ideeën op prijs wordt gesteld. Je levert een duurzame bijdrage aan de transitie naar DevOps en Agile werken. Je ziet resultaat van je werk en draagt bij aan lange termijn oplossingen. TenneT kent een groot en complex applicatielandschap, variërend van oud en nieuw en uiteenlopend van ontwikkel tot beheerwerkzaamheden. Samen met je collega's zijn jullie de grondleggers van

Bekijk vacature »

YOUNG TALENT TECH PROGRAM

YOUNG TALENT TECH PROGRAM Utrecht Technology 13 month pay 26 days holiday Bonus Program Possible (lease) car 32-40 hours p.w. Laptop & Smartphone Flexible mobility budget The Young Talent Tech Program is specially designed to kick-start your career as Technology Consultant. Don’t worry! You do not need to have an IT background! We are looking for a smart, motivated person, who is eager to learn and obviously, isn’t afraid of using a laptop or talking to robots. So, do you (almost) have your Bachelor or Master, and do you want to start your career within IT? This is your chance!

Bekijk vacature »

Senior Fullstack .NET Developer gezocht voor jong

Functieomschrijving Als Senior Fullstack .NET Engineer krijg jij straks een verantwoordelijke functie binnen je Scrumteam. Voorbeelden van projecten waaraan jij kan komen te werken zijn bijvoorbeeld één van de grootste weersites van Nederland, een ERP systeem voor een organisatie dat zich richt op datawarehousing en een mobiele applicatie voor een groot transportbedrijf. Uiteraard ga jij aan de slag met al je favoriete .NET technieken. Hierbij kun je denken aan C#, ASP.NET, .NET Core, SQL, Javascript en meer. Daarnaast krijg je hier een jaarlijks opleidingsbudget zodat je jouw kennis altijd up-to-date kan houden. Functie-eisen - Je hebt HBO werk-/denkniveau; - Je

Bekijk vacature »

.NET Developer/Consultant gezocht voor security vr

Functieomschrijving Wil jij een combinatie van complexe security projecten, klanten adviseren en dat terwijl je 2 dagen per week thuis kan werken? Lees dan nu verder! Functionele requirements vertalen naar technische oplossingen en deze zelf ontwikkelen; Klanten pro-actief adviseren over innovatieve software-oplossingen; Adviseren en ontwikkelen in lijn met de strategie en doelen van de klant; Technische ontwerpen opstellen; Begeleiden van ingebruikname van het product. Functie-eisen Afgeronde HBO/WO opleiding richting bijvoorbeeld Informatica is een sterke pré; Enkele relevante certificeringen; Aantoonbare werkervaring als developer, en hebt hierbij bovenmatige interesse in security vraagstukken; Ervaring als consultant is geen eis, wel is het prettig

Bekijk vacature »

Front-end Webdeveloper

Organisatie Je werkt als front-end webdeveloper binnen één van hun multidisciplinaire Scrum teams. Deze teams hebben ieder een eigen opdracht waarmee ze de kwaliteit van hun online dienstverlening continue willen verbeteren en bouwen aan hun online platform voor de toekomst. Deze organisatie is een wereldwijde adviseur op het gebied van risicomanagement en verzekeringen. Daarmee bieden ze hun klanten steeds meer inzicht en betere mogelijkheden om verzekeringen af te sluiten, hun polissen in te zien, schades te melden en hun contactgegevens te beheren. Het hoofdkantoor is gevestigd in Rotterdam met een schitterend uitzicht over de skyline van de stad. Functie Wat

Bekijk vacature »

Medior PHP Backend Developer / Microservices / Sym

Organisatie Dit bedrijf is sinds 2005 actief en is uitgegroeid van een zolderkameronderneming tot een bedrijf met een omzet van 18 miljoen per jaar en ze groeien nog steeds hard door! Inmiddels zijn er 80 mensen per dag werkzaam om er voor te zorgen dat alles in goede banen wordt geleid. Dit bedrijf richt zich volledig op de “fast moving consumer” market en is constant bezig om hier ook in te blijven innoveren. Dankzij deze strategie zijn zij de marktleider op dit gebied met grote klanten als “Procter & Gamble”. Naast werk is er natuurlijk ook plezier. Zo hebben ze

Bekijk vacature »

Ervaren .net ontwikkelaar

Gezocht, ervaren .NET ontwikkelaar bij Idella (onderdeel van de VISMA-groep) Omdat we succesvol zijn en groeien, zijn we op zoek naar ervaren .NET ontwikkelaars voor ons ontwikkelteam. Wat ga je doen als .NET ontwikkelaar? Als .NET ontwikkelaar werk je in Scrum (Agile) teams aan moderne toepassingen voor interne producten van Idella, zoals bijvoorbeeld de software achter “Evi van Lanschot”. Je doet dit op basis van Microsoft .Net (Core), ASP.NET MVC, SQL Server, Web API, WCF, Angular en C#. Uiteraard houd je actief je kennis op peil over hedendaagse technieken en pas je deze kennis direct toe in je werkomgeving. Standplaats

Bekijk vacature »

Medior PHP Developer

Organisatie Deze jonge club uit Amsterdam is momenteel hard op zoek naar development talent op het gebied van PHP Software Development. Je komt terecht in een organisatie dat meerdere grote klanten bediend op het gebied van Software Development door hen te ondersteunen in verschillende projecten. Zo zijn zij continu bezig met het ontwikkelen van (web)applicaties, complexe backend systemen en websites, zeer gevarieerd dus! Je komt terecht in een ontwikkelclub met echte vakidioten, het niveau in het team varieert ook van zeer getalenteerde developers tot doorgewinterde senior developers waar je mee kunt sparren en/of jezelf aan op kunt trekken. Functie Jouw

Bekijk vacature »

Backend developer Golang / Node / PHP

In Amsterdam zijn we op zoek naar ervaren back-end developers. Heb jij een passie voor alles wat met vernieuwende technologieën te maken heeft dan ga je snel je draai vinden bij deze club. Wij zijn op zoek naar mensen met de ervaring én het talent om mee te denken aan slimme en solide mobile- en weboplossingen. Deze organisatie staat in de luxe positie alleen toffe projecten aan te nemen waar ze achter staan. Het moet een leuk en technisch uitdagend project zijn waarin ze hun passie kwijt kunnen, dan komen ze namelijk samen tot het beste resultaat. Daarnaast ontwikkelen ze

Bekijk vacature »

Technisch Ontwerper / Applicatieontwikkelaar max.

Wie zoeken we? Je bent de beste in je vak of hebt de ambitie en de potentie om de beste te worden. Je hebt de passie om nieuwe technologieën te blijven leren en continu jezelf te ontwikkelen. Je hebt de pioniersgeest en drive om nieuwe technologieën, methodieken en concepten toe te passen in projecten en bij klanten. Je vindt het leuk om kennis te delen met collega’s, klanten en vakgenoten. Je bent een ware professional en ambassadeur voor CIMSOLUTIONS. Je voelt je thuis in een informele, collegiale en professionele sfeer waar de aandacht voor de klant en voor de medewerker

Bekijk vacature »

AngularJS Developer

Wat je gaat doen: Of beter nog, wat wil jij doen? Bij DPA GEOS werken onze consultants als Developer in Agile teams bij onze klanten en zijn ze verantwoordelijk voor de grotere webapplicaties. Wil jij dit ook, want we zijn op zoek naar enthousiaste Developers om ons development team te versterken. Je bent creatief en draagt met je enthousiasme positief bij aan de teamgeest binnen een projectteam. Je gaat webapplicaties maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande interesse in het applicatie landschap.

Bekijk vacature »

Frontend Developer / React.js / JavaScript / Fraud

Functieomschrijving Wil jij als frontend ontwikkelaar de volgende stap zetten en aan de slag gaan met o.a. React.JS? Wil jij zelf ook je stempel drukken en hen leren met nieuwe frameworks aan de slag te gaan? Lees dan nu verder! Functie-eisen Minimaal HBO werk- en denkniveau; Bij voorkeur minimaal 3 jaar ervaring; Bedrijfsomschrijving Het bedrijf waar je als front-end developer komt te werken is een organisatie die rechtmatigheid van financiële gegevens in de zorg controleert. Hierin opereren ze geheel onafhankelijk en zijn ze ondertussen marktleider op dit gebied geworden. Ondanks dat het om een klein bedrijf gaat werken ze voor

Bekijk vacature »

Medior / Senior PHP Developer

Functieomschrijving In deze rol ga je samen met het team complexe webapplicaties ontwikkelen volgens de scrum methode. Samen met het team gaan jullie bepalen welke werkwijze er wordt gehanteerd en in welke rolverdeling dat is. Dit kan samen met het team zijn maar ook af en toe in duo's. De webapplicaties worden geschreven in PHP in verschilende framworks zoals zend, symphony. Je bent dus verantwoordelijk voor het ontwikkelen, uitbreiden en onderhouden hiervan. Er is ruimte voor je eigen breng en ze vinden het ook belangrijk dat je eigen inbreng hebt, omdat jullie samen bepalen hoe de taken worden verdeeld. De

Bekijk vacature »

Web Ontwikkelaar PHP, Nijmegen

Contactpersoon Roel Kavelaar rkavelaarATsearch-consult.nl 0243528815 0644949337 Organisatie Jong, gezond en sterk groeiende bedrijf dat webbased multimedia oplossingen bouwt in de omgeving Nijmegen. Het bedrijf bouwt voor klanten o.a. geavanceerde websites, webwinkels, webapplicaties en specifieke webbased software. Het bedrijf ontwikkelt en onderhoudt ook verschillende bekende Nederlandse websites. Op dit moment hebben zij een groeiende en brede klantenkring opgebouwd. Met betrekking tot programmeer-, onderhoud-, ontwerp-werkzaamheden wordt een PHP ontwikkelaar gezocht met kennis van contentmanagementsysteemen en frameworks. Locatie Nijmegen Verantwoordelijkheden (Her)Ontwerpen en (her)ontwikkelen in PHP ten behoeve van websites voor klanten, project klussen, onderhoud en specifieke klantwensen (Her)Ontwerpen en (her)ontwikkelen in PHP, PHP

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

20/06/2019 14:17:04
 
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.