Overide reguliere tijden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

SharePoint / C#.Net / Ontwikkelaar / Developer / P

Functieomschrijving Heb jij ervaring met SharePoint, JavaScript, C# of ASP.NET en wil je werken aan een SharePoint platform waar meer dan 10.000 mensen dagelijks mee werken? Dan is dit wellicht interessant voor jou! SharePoint Office 365 JavaScript TypeScript PowerShell #C ASP.NET Programmeren in SharePoint 2013 / SharePoint 2016 (en binnenkort SharePoint 2019); Bouwen van nieuwe software; Ombouwen van bestaande software; Oplossen van derdelijns incidenten; Maken van een technisch ontwerp; Software refinement; Testen van nieuwe en bestaande software; Werken aan diverse projecten zoals een mobiele applicatie, webapplicaties, CMS-systeem en eCommerce. Functie-eisen Je bent een ervaren Microsoft developer; Je hebt ervaring met

Bekijk vacature »

Medior C# developer/ .NETcore /

Deins jij niet terug voor een uitdaging? Heb jij passie voor het vak en zit je het liefst de hele dag met de vingers aan de knoppen? Ben je communicatief vaardig en wil je werken met de nieuwste technieken in een proactief team van enthousiaste developers? Dan ben ik op zoek naar jou! De organisatie Deze organisatie is gespecialiseerd in de ontwikkeling van hypotheeksoftware. Het is jouw doel om het voor de eindgebruiker zo makkelijk mogelijk te maken om alles te regelen omtrent zijn/haar hypotheek. Zo heeft de klant de behoefte om veilig in te kunnen loggen op de online

Bekijk vacature »

Junior Java Developer bij Alvant

Vacature Omschrijving Functieomschrijving Je creëert De nieuwste technieken worden ingezet om mooie maatwerkprojecten te creëren voor de meest uiteenlopende opdrachtgevers. Je bent een leergierig- en proactieve professional die het IT-vak serieus neemt en kwaliteit levert. Je staat met beide benen op de grond en wilt jezelf maar al te graag ontwikkelen. Je gaat samen met een senior developer kijken hoe jij jouw ontwikkelpad zo goed mogelijk kan inzetten om jouw doelen snel te bereiken. Je verbindt Je werkt, samen met ervaren Javanen in een Agile omgeving, aan de bouw van een webapplicatie of uitbreiding van een bestaande applicatie. Je staat

Bekijk vacature »

Full Stack .NET Developer

Organisatie Wil jij werken bij een informele organisatie die marktleider is op het gebied van maatwerk en generieke oplossingen binnen de E-Commerce? Stel je eens voor, een bedrijf waar diversiteit centraal staat en dit binnen verschillende aspecten in het bedrijf terugkomt. Werken op projectbasis aan verschillende projecten voor klanten uit de bouw, Automotive of groothandels. Willen hun producten blijvend innoveren en maken hierbij altijd gebruik van de nieuwste technieken binnen de .NET stack. Het bedrijf bevindt zich in een modern kantoorpand met prachtig uitzicht op de Neder-Rijn. Je loopt het pand binnen en voelt gelijk de energie door het gebruik

Bekijk vacature »

Junior PHP Developer

Organisatie Dit bedrijf is 25 jaar geleden begonnen nadat de eigenaar besloot na zijn werkzaamheden bij Apple voor zichzelf te starten in ons prachtige Nederland. Inmiddels werken er bij het bedrijf 11 mensen in totaal en heerst er een zeer hechte en informele sfeer. Zo hebben ze geregeld een filmmiddag, communicatietraining of gaan ze een hapje eten. Natuurlijk moet er ook gewerkt worden en dit bedrijf maakt op maatgemaakte software voor toonaangevende merken als ING, het Financieel dagblad maar bijvoorbeeld ook internationale organisaties als Price Waterhouse Coopers Functie Je komt te werken in een team van 8 developers waarvan 1

Bekijk vacature »

Medior / Senior PHP Developer / Symfony / Fintech

Organisatie Het bedrijf is 2 jaar geleden ontstaan om de brug te zijn tussen de financiële dienstverlener en de particulier. Dat doen ze door verschillende websites en tools te ontwikkelen waardoor het makkelijker wordt om bijvoorbeeld een verzekering of een hypotheek te kiezen. Zo maken ze ook maatwerk CRM pakketten en CMS systemen voor de financiële dienstverlener zelf. Hun legacy zit in Laravel maar ze willen alle nieuwe software in Symfony 3 ontwikkelen. Dit doen ze nu met een team van 5 man tussen de 25 en de 28 jaar oud, je kunt dus zeggen dat dit een jong team

Bekijk vacature »

Junior, medior of senior .NET C# ontwikkelaar, com

Ben je als junior, medior of senior .NET ontwikkelaar op zoek naar een analytische omgeving? Waar hoogopgeleiden en ervaren collega’s jouw kennis naar een hoger niveau kunnen tillen? Waar je met een leuk team samen aan innovatieve producten werkt? Dan zou de deze organisatie wel eens goed bij je kunnen passen. Voor een organisatie in Delft zoeken we momenteel een junior, medior of senior .NET C# ontwikkelaar. De organisatie richt zich zowel op websites als complexe maatwerk applicaties voor externe klanten. Tevens moet je (afhankelijk van je niveau) mee kunnen denken met functionele en architectonische vraagstukken. De projecten kunnen erg

Bekijk vacature »

Medior programmeur

Deze jonge organisatie timmert nu al een tijdje aan de weg en is in een korte tijd gegroeid tot 10 medewerkers. Ze zijn nu hard op zoek naar een uitbreiding van het development team waarin nu zo’n 5 ontwikkelaars actief zijn. Dus wat doen ze nou precies? Dit bedrijf heeft een specialisme ontwikkeld in een bepaalde niché binnen de commerciële sector. Hierin willen zij door middel van een high tech oplossing zorgen voor automatisering op grote schaal. Ze zijn gevestigd in de omgeving van Amsterdam in een gezellig pand. Binnen het kleine team heerst een gezellige, informele sfeer en er

Bekijk vacature »

Medior PHP ontwikkelaar Den Bosch

Bedrijfsinfo Deze organisatie is zo’n 15 jaar geleden ontstaan en werken aan enorm gave projecten voor grote opdrachtgevers zoals bijvoorbeeld Bose. De projecten zijn enorm divers en verspreid over meerdere branches. Je kan hierbij denken aan het ontwikkelen van CRM systemen, mobile apps en het ontwikkelen van websites. Bij deze jonge, informele organisatie lopen zo’n 10 ontwikkelaars rond die allen hetzelfde doel hebben: Echt iets bijdragen aan de projecten. Samen iets gaafs neerzetten. Het leuke is de grote invloed die je op de projecten kan uitoefenen en de korte lijnen binnen de organisatie. Hierdoor zou het zomaar kunnen dat door

Bekijk vacature »

Junior/medior/senior Frontend developer

Beeld je eens in dat jij vanaf je bureau mijlen ver om je heen kan kijken. Dit komt doordat jij werkt in een ruimte op de 14e verdieping die alleen bestaat uit glas. Je kijkt zo naar de Dom, het bos, het station en je kan zelfs de Johan Cruyff Arena in Amsterdam zien. Met dit prachtige uitzicht werken jullie aan een software pakket voor de gezondheidszorg. Jullie zijn er dan ook trots op dat jullie iedere dag weer iets kunnen betekenen voor veel verschillende patiënten. Doordat je werkzaam bent voor de gezondheidszorg werk jij nauw samen met psychologen en

Bekijk vacature »

PHP developer

Organisatie Wanneer je binnen komt lopen bij dit bedrijf zie je meteen waarom dit bedrijf zo goed gegroeid is! De kwaliteit is namelijk van het hoogste niveau. Wat begonnen is op een zolderkamer is uitgegroeid tot een organisatie waar tijdens het hoogseizoen zo’n 300 mensen werken. In de showroom staat een greep van de collectie prachtig uitgesteld en zie je meteen waar je het voor doet. Aan de muur hangen verschillende awards die zij gewonnen hebben en middels zijn ze Nederland al ontgroeid. Ze hebben voet aan de grond in onze buurlanden maar ook Frankrijk en dit is nog maar

Bekijk vacature »

Lead Magento Developer

Organisatie Voor een groeiend E-commerce bedrijf in Eindhoven zoek ik een Lead PHP- Magento2 Developer die samen in een team van ontwikkelaars gaat bouwen aan supersterke websites en webshops. Het bedrijf is ontstaan vanuit een ICT bedrijf, de eigenaar is zelf een ontwikkelaar en samen met de organisatie hebben ze hun 15 jarige jubileum recent gevierd. Functie Projecten waar je aan gaat werken hebben een doorlooptijd van ongeveer 6 tot 9 maanden voordat de website of webshop live gaat. Je komt te werken in een hechte club ontwikkelaars die zich dagelijks inzetten om de vetste websites en webshops te realiseren

Bekijk vacature »

Ruby on Rails developer gezocht!

Organisatie Sinds 1997 worden hier doordachte strategieën, bekroonde websites en apps voor toonaangevende opdrachtgevers ontwikkelt. Samen met onze klanten halen wij het beste resultaat uit hun digitale middelen. Deze organisatie is gevestigd in het centrum van Rotterdam (vlakbij CS). Hier vinden ze het belangrijk om te investeren in klant en medewerkers. Van de Jupiler Pro League naar de Champions League! Ze bieden jou een eigen leeromgeving in combinatie met interessante opleidingsmogelijkheden, om bijvoorbeeld je Soft Skills verder te ontwikkelen. Je kunt je optrekken aan onze senioren, haalt extra certificeringen als je dat graag wilt en je onderzoekt in welke richting

Bekijk vacature »

Senior PHP Developer

Organisatie Wanneer je binnen komt lopen bij dit bedrijf zie je meteen waarom dit bedrijf zo goed gegroeid is! De kwaliteit is namelijk van het hoogste niveau. Wat begonnen is op een zolderkamer is uitgegroeid tot een organisatie waar tijdens het hoogseizoen zo’n 300 mensen werken. In de showroom staat een greep van de collectie prachtig uitgesteld en zie je meteen waar je het voor doet. Aan de muur hangen verschillende awards die zij gewonnen hebben en middels zijn ze Nederland al ontgroeid. Ze hebben voet aan de grond in onze buurlanden maar ook Frankrijk en dit is nog maar

Bekijk vacature »

Senior iOS Developer vacature

Je bent innovatief. Je bent creatief. Jij gaat voor een topbaan. Mobile apps ontwerpen, uitwerken en realiseren, dat is jouw passie! Met grote toewijding richt jij je dan ook op een app waarmee consumenten met een gezichtsscan betalen. Of je stort je je op een app die de temperatuur in huis op afstand kan regelen. Het spreekt voor zich dat jouw apps top of the bill zijn als het gaat om gebruiksvriendelijkheid en veiligheid. Ze hebben impact. Je voelt je als een vis in het water in een iOS-omgeving maar, veelzijdig als je bent, kun je ook met andere platforms

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

18/09/2019 22:50:07
 
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.