Overide reguliere tijden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software programmeur

Functieomschrijving Voor een erkende werkgever in de regio van Goes zijn wij op zoek naar een enthousiaste software programmeur met PHP/Symfony ervaring. Een gedreven persoon die het development team komt versterken met het aanpakken van complexe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor zowel professionele als persoonlijke groei? Lees dan snel verder! Dit ga je doen: Beheer en ontwikkeling van de serviceportal in Symfony en de webshops in de tweede versie van Magento; Testen en door ontwikkelen van software; Ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

Java Programmeur

Functie Heb jij altijd al samen willen werken met ervaren java ontwikkelaars dan hebben wij hier de ultieme kans voor jou! Voor een opdrachtgever in omgeving van Naaldwijk zijn wij op zoek naar uitbreiding van het vaste ontwikkel team. Je zult je hier voornamelijk bezig gaan houden met; Wijzigingsverzoeken van klanten uitvoeren, hier wordt je diep in betrokken; Samen met consultants sluit je aan bij gesprekken met klanten, voor alle projecten; Je schakelt veel met consultants, wat is de behoefte van de klant? Hoe kan je hierop integreren?; Het framework moet naar de Cloud gebracht worden, je wordt betrokken bij

Bekijk vacature »

Senior Front end developer Angular

Functie Er zijn momenteel 5 SCRUM-teams waarvan drie gefocust zijn op DevOps en de huidige projecten en twee op innovatie van de platformen. Jij zal onderdeel worden van het innovatie Scrum team. De 2 multidisciplinaire innovatie teams bestaan momenteel uit 14 werknemers. Jij als senior Front end developer wordt onderdeel van onze innovatieteams. De innovatieteams houden zich bezig met het door ontwikkelen van de huidige producten en denken na over nieuwe functionaliteiten. Binnen de rol van Front end developer krijg je veel vrijheid en kan je je dag zelf indelen. Dingen waar jij je dagelijks mee bezig zult houden is

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een software bedrijf in omgeving Breda zijn wij op zoek naar een SQL database ontwikkelaar. Dit bedrijf bouwt applicaties om processen in distributiecentra te optimaliseren. Ter uitbreiding van het huidige team developers zijn wij op zoek naar een SQL database ontwikkelaar. De klanten van dit groeiende bedrijf zitten door heel Europa en jouw werkzaamheden zullen er als volgt uitzien: Het samenstellen van de software op basis van de input vanuit de klant (T-SQL & C#.NET). Het bezoeken van klanten om de processen en mogelijkheden in kaart te brengen. Het ontwerpen van databases met T-SQL als programmeer laag.

Bekijk vacature »

Back-end Developer Java

Dit ga je doen Het (door)ontwikkelen van een zelfgebouwde applicatie in Java, Spring Framework, SQL, HTML, CSS en Javascript; End-to-end beheer m.b.t. de applicatie en koppelen van applicaties binnen het landschap; Ontwikkelen van rapportages voor de interne organisatie; Ontwikkelen van aanvullende functionaliteiten m.b.t. de applicatie; Uitvoeren van testen en code reviews. Hier ga je werken Binnen deze organisatie kom je te werken op de afdeling die medische gegevens verzamelt vanuit het hele land. Denk hierbij aan vertrouwelijke persoonsgegevens. Het team verwerkt al deze data met als doel het waarborgen en verbeteren van de kwaliteit van de zorg in heel Nederland.

Bekijk vacature »

Medior Front-end Developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als Medior Front-end Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel

Bekijk vacature »

Digitale Tovenaar Gezocht: Junior Low-code/No-code

Bedrijfsomschrijving Duik mee in een wereld vol innovatieve avonturen waar gegevens en technologie een magische symbiose aangaan! Al meer dan twee decennia lang zijn we de tovenaars achter de schermen die oplossingen creëren voor de meest complexe klantcontactvraagstukken en datagedreven software-uitdagingen. Bij ons draait het om de kracht van samenwerking en groei. We zijn een hechte vriendengroep die samen bergen verzet om elkaar én onze klanten te laten schitteren. Jouw succes is ons succes en we streven ernaar om elkaar naar nieuwe hoogten te tillen, niet voor even, maar voor altijd. We willen dat jij je helemaal thuis voelt in

Bekijk vacature »

Software programmeur

Functieomschrijving Voor een uitdagende werkgever in regio Breda zijn wij op zoek naar een Full Stack C#.NET programmeur. Je bent verantwoordelijk voor het ontwikkelen van apps, webapplicaties en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere developers en engineers om de sensoren in machines te scannen en vervolgens de data om te zetten in management informatie voor de klanten. Taken en verantwoordelijkheden: Je gaat aan de slag met de volgende technologieën en frameworks: C#, JS frameworks, HTML, TypeScript, SQL & C++, CSS. Geen ervaring met één van deze technologieën is dan ook geen enkel probleem! Deze werkgever biedt

Bekijk vacature »

Front-end Developer

Gezellige team, passie en een groene toekomst! Lees hier de vacature van Front-end Developer bij All in Power! All in power heeft zich tot doel gesteld écht bij te dragen aan de energietransitie. Dit doen wij door de markt voor energie volledig op zijn kop te zetten. Producenten van schone (wind- of zonne-)energie verkopen via ons platform hun energie rechtstreeks aan gebruikers. Of dit nu huishoudens, bedrijven of bijvoorbeeld laadpalen zijn ons platform maakt het uitwisselen van energie mogelijk. Zo maken we de business case van onze klanten veel sterker en loont het om (meer) te investeren in vergroening voor

Bekijk vacature »

Java Developer

Functie Wat ga je doen als Java developer? Jij komt terecht binnen een informeel team waarin je verantwoordelijk bent voor de backend systemen voor grote klanten als Ziggo en KPN. Als Medior Java developer werk je in teamverband en soms individueel. Gedurende de werkweek zal je veelvuldig sparren met je collega’s voor een goede implementatie van de software. Ben jij een echte Java developer? Ben je geïnteresseerd in de nieuwste technieken en de laatste ontwikkelingen? Dan ben je hier aan het juiste adres! Eisen Wat wordt er van jou verwacht? • Minimaal HBO/WO denk- en werkniveau; • Analytisch sterk, open

Bekijk vacature »

Cobol Developer

Dit ga je doen Als Cobol Ontwikkelaar zal je gaan meebouwen aan een onderdeel van het backend systeem waarbij je het functionele ontwerp vertaald naar een technische oplossing die geïntegreerd kan worden in de huidige omgeving. Je zorgt ervoor dat de bedrijfsprocessen op een efficiënte manier worden uitgevoerd en werkt proactief aan het verbeteren hiervan. Samen met jouw collega’s reviewen jullie elkaars code en test je je eigen code. Je werkt nauw samen met andere ontwikkelaars, testers en functioneel ontwerpers. Taken pakket: Beheren en doorontwikkelen van de bestaande omgeving; Vertalen van een functionele vragen naar een technische oplossing; Doorvoeren van

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

Back end developer PHP

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 25 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

Ambitieuze Junior/Medior Low-code Developers gezoc

Bedrijfsomschrijving Transformeer bedrijven met jouw expertise in innovatieve technologie Ben je een bedreven softwareontwikkelaar met ervaring in Low-code platformen, of sta je te popelen om je in deze baanbrekende oplossing te verdiepen? Wij zijn op zoek naar jou! Ons klantenbestand groeit en we willen ons team uitbreiden met deskundige en leergierige Low-code specialisten. Is het jouw passie om organisaties te ondersteunen in hun digitale transformatie en maatwerkoplossingen te bieden met behulp van geavanceerde software? Wij zijn een vooruitstrevend bedrijf dat dagelijks werkt aan het oplossen van complexe vraagstukken om de digitale ambities van onze klanten te realiseren. Functieomschrijving Ontwikkel op

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

26/04/2024 09:45:54
 
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.