Overide reguliere tijden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front-end Developer

De vacature Als creative Front end Developer combineer je de rol van applicatieontwikkelaar met die van UI/UX specialist. Je werkt in een multidisciplinair project of DevOps team en je gebruikt jouw kennis voor het ontwerpen en ontwikkelen van kwalitatief hoogwaardige digitale oplossingen in uiteenlopende technologieën, zoals Mendix Pega of Appian. Je bent verantwoordelijk voor het volledige UX traject van ontwerp tot implementatie. Bij First Technology werk je samen in een multidisciplinair team met business consultants, professionele ontwikkelaars en technisch specialisten. Daarbij doen we graag een stapje extra voor een goed resultaat en hoge kwaliteit. Dit levert oplossingen die het verschil

Bekijk vacature »

Junior .NET Developer I Leukste softwarebedrijf va

Bedrijfsomschrijving Een frisse en jonge club waar hard gewerkt wordt aan hoogwaardige software, volledige geschreven met C# en in Microsoft omgeving! Deze organisatie bestaat nu ongeveer 10 jaar en ze zijn gespecialiseerd in het maken van software voor met name de Overheid. Dit doen ze intern op een vaste locatie te Leiden, vanuit een prachtig pand. De cultuur is er zeer prettig, je komt te werken in een gezellige organisatie. Ze hebben met elkaar één afspraak: de opgeleverde software moet altijd van hoge kwaliteit zijn! De diverse software producten waar je aan gaat werken zijn er op gericht om onder

Bekijk vacature »

Full stack Developer

De vacature Als creatieve Front-end Developer breng jij designs tot leven, middels strakke code en geweldige interactie. Dit doe je deels in teamverband en deels zelfstandig. Je bent een gedreven en nieuwsgierige autodidact. Iemand die zich actief opstelt vanaf de conceptfase en betrokken is tot en met de nazorg. Je werkt in een klein, maar multidisciplinair hecht team. Jouw gezellige en ambitieuze collega’s van interactive bestaan uit developers en designers, met een passie voor innovatieve nieuwe technologieën. Als team ontwikkelen jullie zeer uiteenlopende online projecten voor allerlei platformen. Van kleine tijdelijke campagnes tot grote high traffic projecten. Van corporate sites

Bekijk vacature »

.NET Developer

De vacature We zijn op zoek naar een gedreven .NET Developer voor onze IT afdeling. Je zal onderdeel worden van ons team en samen met het team onze grote opdrachten aanvliegen. Een product ontwikkelen is hard werken. Het is duur en kost veel tijd. Dit geldt voor elk bedrijf, maar vooral in de IT. Daarom heeft Bending the Rules een andere aanpak. We willen graag zien waar we de B**S** kunnen overslaan en tot de kern van de dingen komen. De echte vragen. Het echte doel. Het is namelijk gemakkelijk om je weg te verliezen in al die technologie. Welke

Bekijk vacature »

Developer

De vacature Ben jij een ambitieuze Software Developer? Is voor jou geen uitdaging te groot? Wil je werken met de laatste technieken? Dan zijn wij op zoek naar jou! Wij bieden jou de unieke kans om je zowel op technisch als persoonlijk vlak verder te ontwikkelen. Kom jij een team versterken dat jouw passie deelt? WAT GA JE DOEN Je werkt aan onze eigen oplossingen. Hierbij werk je aan zowel functionele als technische eisen. Je bent regelmatig in contact met onze klanten. Zo weet je altijd wat er speelt en wat er nodig is! Je werkt aan de kern van

Bekijk vacature »

PHP developer

De vacature Alfion is een klein team van ambitieuze mensen met een passie voor het maken van online diensten en on-premise oplossingen voor onze klanten. Zowel voor onze klanten als voor intern gebruik ontwikkelen wij maatwerk (web)applicaties, veelal op basis van een (custom) framework. Gaat jouw hart sneller kloppen van PHP, Laravel en Javascript? Lijkt het je leuk om mee te bouwen aan webapplicaties en API’s en onze klanten te ondersteunen bij het gebruik hiervan? Misschien ben jij wie we zoeken! Functie eisen Brede kennis van development Gedegen basiskennis van PHP Ervaring in werken met frameworks als Laravel Een sterk

Bekijk vacature »

Fullstack Developer @ Amsterdam

2021-11-19 iSense Fullstack Developer Ben jij een Fullstack Developer die graag aan de slag wil bij een van de grootste en meest gerenommeerde financiële organisaties wereldwijd? Wil jij je richten op projecten waar je van scratch af aan (inhouse) de meest innovatieve oplossingen gaat bedenken én uitvoeren voor erkende organisaties (met o.a. Python en JavaScript)? Lees dan nu verder! ISHU51587 Organisatie Als jij een Fullstack Developer bent is dit jouw kans om aan de slag te gaan bij een van de grootste en meest gerenommeerde financiële organisaties wereldwijd. Met diverse vestigingen zijn ze een belangrijke speler in de financiële markt.

Bekijk vacature »

Organization Developer

Als Organization Developer help je mee CoolblueBezorgt zo in te richten dat alle Coolblue’ers optimaal hun werk kunnen doen. Wat doe je als Organization Developer bij Coolblue? Heb jij een passie voor HR en het doorvoeren van verbeteringen en wil je deze tastbaar maken door te werken aan interessante projecten? Dan is dit dé functie voor jou. Ook Organization Developer worden bij CoolblueBezorgt? Lees hieronder of het bij je past. Dit vind je leuk om te doen Zorgen voor het juiste organisatiemodel op jouw afdelingen, voor vandaag en voor de toekomst. Samen met afdelingsleidinggevenden bepalen welke functies er zijn, welke

Bekijk vacature »

PHP Developer

De vacature Je komt in Ede bij ons team van ontwikkelaars en specialisten, die zich dag in dag uit inzetten om onze partners een steeds betere ervaring te geven in onze portals. Daarnaast hebben we nog een dedicated team in Roemenië waarmee we samen ontwikkelen en dagelijks contact hebben. Wat maakt deze rol dan zo gaaf? Het is een brede rol, je kunt actief meedenken over de tech stack die we gebruiken en features die we kunnen implementeren; We luisteren naar onze klanten en we vertalen de vraag vanuit de interne organisatie en externe partners naar vooruitstrevende en gebruiksvriendelijke oplossingen;

Bekijk vacature »

Lead Java Developer

De vacature Als Java Developer, Teamlead krijg je de verantwoordelijkheid om het huidige team van vier Java developers verder mee te nemen in de ontwikkeling van de in de afgelopen drie jaar ontwikkelde suite aan java applicaties. Het zelf ontwikkelen van nieuwe toepassingen is ook een belangrijk item. Een meewerkend voorman dus. Functie eisen Zelfstandigheid Kunnen werken in een kleine, informele organisatie Anderen kunnen motiveren om volgens bepaalde procedures te (gaan) werken Willen meehelpen bij het opbouwen van de organisatie Jouw belangrijkste taken 1. Java Development van nieuwe toepassingen 3. Testen 4. Klantimplementaties begeleiden 5. Gedeeltelijk vanuit huis Over Migrato

Bekijk vacature »

Junior Fullstack .NET Developer @ Regio Rotterdam

2021-10-15 iSense Junior Fullstack .NET Developer Heb je onlangs een hbo-, wo-opleiding of een minor richting de IT afgerond OF heb jij middels cursussen je sporen verdiend in het programmeren en wil je graag aan de slag als Fullstack .NET Developer? Lees dan snel verder! Want in januari/februari 2022 start de Experis Academy weer met een leerprogramma waarin IT-experts je opleiden tot developer met als specialisatie .NET. Dit allemaal met een salaris en een vooruitzicht op een baan bij een topwerkgever. ISLE51120 Locatie Rotterdam en omstreken Wat ga je doen tijdens het Fullstack .NET Developer ontwikkeltraject? Vanaf januari/februari 2022 krijg

Bekijk vacature »

Back-end Developer

De vacature Een legacy applicatie, monoliet, wordt dagelijks gebruikt door alle stakeholders. Moet blijven draaien tijdens een zeer uitgebreide verbouwing: naar gescheiden front end / back end; terwijl ook nieuwe functionaliteit toegevoegd wordt. Back end developers werken in Laravel; om de applicatie robuuster te maken; en ontwikkelen api's; om nieuwe front end modules aan te sluiten en ook te connecten met andere applicaties. Functie eisen Betrouwbaar Open Scherpzinnig Analytisch Teamspeler Leergierig Gedreven Jouw belangrijkste taken 1. Zorg voor betrouwbaar, veilige continuiteit; 2. Vacature Back-end Developer Cooder.nl 3. Ontwikkel een beter onderhoudbaar systeem; 4. Ontwikkel een flexibeler systeem; Over Eurocept Homecare

Bekijk vacature »

Full Stack Cloud Developer - Utrecht

De vacature Valtech is looking for a Full Stack Cloud Developer. Someone who loves working with the newest technologies and is on top of what’s next. Do you have a keen eye for performance, stability and traceability? Are you always seeking the highest quality in code? And aren't you scared away by maintaining and running your own applications on a day-to-day basis, being responsible for (infra-as-code) deployments and aligning with the cloud engineering team to get stuff done? Read on, because we have a match! What will you be doing? As our new Full Stack Cloud Developer, you build and

Bekijk vacature »

BI Developer

De vacature Als Tableau BI Developer ben je verantwoordelijk voor verbetering en ontwikkeling van de dashboards in de front-end van de innovatieve producten in ons portfolio, gericht op datavisualisatie, -analyse en benchmarking in de vastgoedsector. Het productteam bestaat naast jou veelal ook uit een SQL Developer, Web Developer en Business Analist. De dashboards zijn onderdeel van een interactieve webapplicatie en bieden de gebruikers veel mogelijkheden hun vastgoed te analyseren. Daarbij maken we volop gebruik van de rijke features van Tableau zoals (quick) filters, spatial mapping, set analysis en dashboard actions. Om waardevolle analyses en visualisaties op te leveren, combineer je

Bekijk vacature »

Front End Developer, Dynagroup

Gaat jouw hart sneller kloppen van het bouwen aan innovatieve oplossingen en het overwinnen van uitdagingen in de wereld van Supply Chain oplossingen, After Sales Services en E-commerce services? Dan is de functie als Front End Developer iets voor jou! Wat bieden wij jou Marktconform salaris Dynamische en gezellige werkomgeving Uitdagende positie binnen een groeiend bedrijf Doorgroeimogelijkheden Wie ben jij Als Front End Developer word je onderderdeel van een klein ontwikkelteam dat eigen gebouwde software en SaaS oplossingen ontwerpt en ontwikkelt. Hierbij ligt een duidelijke focus op kwaliteit en schaalbaarheid. HBO-diploma in de richting van informatiesystemen of Toegepaste Informatica Aantoonbare

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

28/11/2021 00:47:41
 
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.