Overide reguliere tijden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Softwareontwikkelaar Cleopatra

Functieomschrijving: De directie Verkeer en Openbare ruimte van de gemeente Amsterdam beschikt over een softwareapplicatie, "Cleopatra", waarmee geautomatiseerde handhaving plaatsvindt (op basis van kentekenherkenning) van bepaalde gebieden waarin toegangseisen worden gesteld aan het verkeer. Voorbeelden ervan zijn de milieuzones, de zone zwaar verkeer, handhaving van bromen snorfietser op het fietspad en autoluwe gebieden. Voor de doorontwikkeling en uitbreiding ervan zijn gespecialiseerde softwareontwikkelaars nodig die helpen bij het programmeren van de handhavingsmodules voor nieuwe gebieden en het verbeteren en bijwerken van de bestaande onderdelen van de softwareapplicatie.De opdracht bestaat uit: het programmeren van de diverse modules;het tijdens demo's tonen van de

Bekijk vacature »

Node.js developer looking for a challenging consul

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar ontbreekt er aan passie en motivatie niks. Jij bent communicatief sterk en pakt iedere uitdaging dan ook met beide handen aan. Op projectbasis ga jij met je team of met enkele andere ontwikkelaars intern aan de slag bij diverse partners. Op basis van het project ga jij aan de slag en zijn de werkzaamheden en technieken erg divers. Jouw werkgever stelt jouw ontwikkeling hierin voorop, zo krijg je een vast vertrouwenspersoon die één keer in de maand op locatie van jouw project zal kijken hoe het gaat en of er eventuele aandachtspunten zijn. Daarnaast krijg

Bekijk vacature »

Junior .NET developer

Functie Wij hebben drie scrumteams. Het eerste team focust zich op het stukje hardware wat wij in huis doen. Zij maken als team o.a. gebruik van C++. De andere twee scrumteams zijn allebei bezig met data verwerking en maken hierbij in de backend gebruik van C# .NET / .NET Core. Het verschil tussen deze teams is dat één team de data verwerking doet voor de mobiele applicatie. Zij werken hierbij dus ook met Xamarin. Het andere team focust zich op de webapplicaties en maakt hierbij ook gebruik van ASP.NET MVC. Op basis van jouw ambities en kwaliteiten kijken wij samen

Bekijk vacature »

Delphi developer

Functie Als Delphi developer ga jij aan de slag in een team met twee andere ervaren Delphi programmeurs waaronder de Hoofd programmeur. Als team zijn jullie verantwoordelijk voor de doorontwikkeling van jullie bestaande applicatie. Daarnaast zijn jullie verantwoordelijk voor het onderhouden van deze applicatie en het oplossen van eventuele bugs. Eisen - HBO werk en denk niveau; - Minimaal één jaar ervaring met Delphi; - Goede beheersing van de Nederlandse taal in woord en geschrift; - Jij bent zelfstandig, maar kan ook in team verband werken. Aanbod - €3000,-- €4000,- op basis van jouw kennis en ervaring; - 8% vakantiegeld;

Bekijk vacature »

Back end developer Onderwijssoftware

Functie Als back end developer kom jij terecht in een klein, maar hecht team bestaande uit 5 andere developers (waarvan 2 senioren, 2 medior en 1 junior). Met de gezamenlijke missie om “ieder kind te helpen met onze software” wordt er dagelijks gepassioneerd en hard gewerkt aan ons in-house ontwikkeld platform. Deze software is gebaseerd is op AI, machine Learning en wetenschappelijke inzichten. Dagelijks zul jij werken met onze high traffic webapplicatie. We hebben ruim 300.00 gebruikers en meer dan 2 miljard records waar je te maken mee krijgt! Verder zul jij je bezighouden met: – Het ontwikkelen van hoogwaardige

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar start jij in één van onze vier scrumteams. Met 30 ontwikkelaars werk jij aan de doorontwikkeling van ons core product. Ook werkt jouw team aan maatwerkoplossingen op aanvraag van de klant en op projectbasis. Wij vinden het erg belangrijk dat onze ontwikkelaars met plezier naar werk gaan. Een deel hiervan ligt uiteraard bij jezelf, als jij ontwikkelen niet leuk vindt, ben jij bij ons echt aan het verkeerde adres. Jouw team bestaat namelijk uit een groep gepassioneerde vakidioten die dit werk doen omdat dit eerst een hobby was! Daarnaast wordt er intern rekening gehouden met

Bekijk vacature »

Full stack developer Node.js

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

Robot Programmeur

In het kort Drie redenen waarom deze vacature uniek is! Modern, innovatief en Informeel bedrijf waar veel mogelijk is Werken met diverse robot merken Meehelpen met inbedrijfstellingen bij de klant De organisatie Hier ga je aan de slag Dit groeiende bedrijf van totaaloplossingen in de automatisering van productieprocessen, is hoofdzakelijk actief in de Benelux. Vanuit het kantoor in regio Amersfoort worden veel oplossingen geboden in de vorm van robotica. Geen project is hetzelfde wat garant staat voor bijzonder veel afwisseling. De bedrijfsgrootte is ongeveer 80 man. Van gerobotiseerde machinebeladingen tot aan assemblage automatiseringen wordt vanuit krachtige engineering maatwerk equipment geleverd.

Bekijk vacature »

Integratie expert - Java Developer

Dit ga je doen Nieuw koppelingen ontwerpen, ontwikkelen en implementeren; Je schakelt met de klanten om hen zo goed mogelijk van dienst te zijn. Strategisch kijken naar nieuwe mogelijkheden op bestaande of nieuwe koppelingen zo effectief mogelijk te realiseren; Je bestaande toolset afwegen tegen nieuwe mogelijkheden om integratiedoelen steeds effectiever en/of effcienter te bewerkstelligen; Bestaande software koppelingen beheren, dit zijn koppelingen met zowel interne als externe systemen; Overleg met zowel directe collega's als met stakeholders om nieuwe integratieplannen concreet te maken; Je kunt de junioren meenemen op sleeptouw. Hier ga je werken Onze klant is op zoek naar een ervaren

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Wil jij bij een platte en informele organisatie werken? Lees dan snel verder! Voor een opdrachtgever in omgeving Rotterdam dat zich gespecialiseerd heeft in het realiseren van veilige netwerkverbindingen zijn wij op zoek naar een leuke software developer ter versterking van het huidige team. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen PHP, JAVA en Node.js. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn

Bekijk vacature »

Junior / Medior C# .NET ontwikkelaar in Brabants t

Bedrijfsomschrijving Ben jij een gepassioneerde C# .NET ontwikkelaar met een voorliefde voor hardware? Dan is dit de perfecte kans voor jou! Bij ons bedrijf krijg je de kans om deel uit te maken van een team van sociale en enthousiaste techneuten die er elke dag naar streven om onze eigen ontwikkelde software nog beter te maken. Het team van ongeveer 10 team medewerkers maakt zich hard om de interne processen gestroomlijnd te laten verlopen. Functieomschrijving Als lid van ons hechte en behulpzame team word je betrokken bij diverse projecten. Daarbij krijg je te maken met data-analyses, content en de logistieke

Bekijk vacature »

Front-end (Angular) developer

Functie Om bovenstaande ambities waar te kunnen maken zijn ze op zoek naar een Front-end (Angular) developer. Het it-team bestaat momenteel uit de IT Manager, 2 back-end developers, 1 fullstack developer, 1 designer en een DevOps engineer. Ze zijn dus op zoek naar professionals die autonoom en gedisciplineerd aan de slag gaan, en bij aanvang als enige developer met hun Front-end applicaties aan de slag gaat. Wel hebben ze de ambitie om hier snel een 2e developer bij te vinden die jij dan ook zal kunnen aansturen/begeleiden. Je zult aan de slag gaan met het doorontwikkelen van hun bestaande UI

Bekijk vacature »

C# Ontwikkelaar

Functieomschrijving Voor een software ontwikkelaar in de omgeving van Vught zijn we op zoek naar een gemotiveerde C# ontwikkelaar. Deel jij hun passie voor development en dan vooral in C#.NET? Dan kan dit wel eens jouw droombaan zijn! Jouw werkzaamheden zullen er ongeveer als volgt uit gaan zien Door de wensen van de klant goed te begrijpen ga jij aan de slag dit om te zetten naar passende oplossingen en werk je deze uit tot een sterk eindproduct. Je gaat je bezighouden met de ontwikkeling van webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Frameworks en C#.

Bekijk vacature »

Senior Cobol Applicatieontwikkelaar

Bedrijfsomschrijving De IV- organisatie van de Belastingdienst is verantwoordelijk voor en verzorgt de ICT- voorzieningen. Het merendeel van de applicaties wordt op dit moment door de IV- organisatie zelf ontwikkeld, onderhouden en beheerd in het eigen data center. Naast de zorg voor continuïteit op de massale heffing- en inningsprocessen die plaatsvinden binnen een degelijke, stabiele omgeving, wordt er tevens volop gewerkt aan modernisering van het IV- landschap. Dit gebeurt deels intern door gebruik te maken van de expertise die intern aanwezig is, maar ook door het aantrekken van (kant-en-klaar) oplossingen en expertise uit de markt. Functieomschrijving In de applicatie ETM

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

16/05/2024 00:37:00
 
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.