Gelukkig heb ik dat mooi in de tijd van de baas kunnen doen. Zou nu nooit meer een applicatie willen ontwikkelen zonder symfony.quote:Op woensdag 24 juni 2015 07:49 schreef robin007bond het volgende:
Poeh. Moet zeggen dat zo'n framework leren als Symfony meer tijd kost dan gedacht.
			
			
			
			Ik heb dit toegepast, maar heb nog op 1 punt hulp nodig.quote:
| 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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67  | <?php try { require('config.php'); $con= new PDO( "mysql:host=" . $settings["dbserver"] . ";dbname=" . $settings["dbname"], $settings["dbuser"], $settings["dbpass"]); $sql="SELECT @curRank := @curRank + 1 AS Rank , UnitDays.UserID , UnitDays.UserName , UnitDays.Subsite , UnitDays.Unit , UnitDays.FirstStartdate , UnitDays.NrOfUniqueDays , CASE WHEN UnitDays.Subsite = ? THEN 'Yes' ELSE 'No' END IsDisplayed FROM (SELECT UserID , UserName , Subsite , Unit , FirstStartdate , NrOfUniqueDays FROM UnitDays) UnitDays JOIN (SELECT @curRank := 0) r WHERE UnitDays.UserID = ? ORDER By UnitDays.FirstStartdate"; $stmt=$con->prepare($sql); foreach(array('Forum', 'Frontpage') as $subsite) { $stmt->execute(array($subsite,$id)); $fok = 0; echo '<script type="text/javascript" data-src="https://www.google.com/jsapi" style="visibility:hidden;"></script>'; echo '<script type="text/javascript">'; echo 'google.load("visualization", "1", {packages:["corechart"]});'; echo 'google.setOnLoadCallback(drawChart);'; echo 'function drawChart() {'; echo 'var data = google.visualization.arrayToDataTable(['; echo "['Functie', 'Dagen'],['', ''], ['',''],"; if ($SelectedID == 41894 OR $SelectedID == 372780) { echo "['',''], "; } // 99.999 == du_ke while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { ++$fok; if ($row['IsDisplayed'] == 'Yes') { echo "['" . $row['Unit'] . "', " . $row['NrOfUniqueDays'] . "]"; } else { echo "['','']"; } if ($fok !== $row['Rank']) { echo ","; } } echo ']);'; echo 'var chart = new google.visualization.PieChart(document.getElementById("' . $row['Subsite'] . '"));'; echo "var options = { title: 'Subsite: " . $row['Subsite']. "', sliceVisibilityThreshold: .00001, backgroundColor: 'transparent', tooltip: {showColorCode: true, textStyle: { color: 'black'}} };"; echo 'chart.draw(data, options);'; echo '}'; echo '</script>'; echo '<div class="piechart" id="' . $row['Subsite'] . '" style="width: 100%; height:400px;"></div>'; } } // Error handeling catch(PDOException $e) { echo '<pre>'; echo 'Regel: '.$e->getLine(). '<br />'; echo 'Bestand: '.$e->getFile(). '<br />'; echo 'Foutmelding: '.$e->getMessage(); echo '</pre>'; } ?>  | 
| 1 2 3  | <?php $row = $stmt->fetch(PDO::FETCH_ASSOC) ?>  | 
			
			
			
			Gewoon $subsite gebruiken buiten de while?quote:Op woensdag 24 juni 2015 11:56 schreef zarGon het volgende:
[..]
Ik heb dit toegepast, maar heb nog op 1 punt hulp nodig.
[ code verwijderd ]
Het gaat om regel 49 t/m 54. $row['Subsite'] wordt niet aangevuld en is dus leeg.
Ik denk dat dat komt omdat het niet meer in de while() zit, maar ik krijg het niet aan de praat. Ook niet als ik nogmaals het onderstaande toevoeg op regel 48.
[ code verwijderd ]
Enig idee hoe ik $row['Subsite'] wel met de juiste waarden terugkrijg?
			
			
			
			
			
			
			
			Yes, werkt! En javascript laadt nu 1 kee in. Bedankt!quote:Op woensdag 24 juni 2015 12:06 schreef mstx het volgende:
[..]
Gewoon $subsite gebruiken buiten de while?
En ik zou even zorgen dat je dat externe javascriptje niet 2x inlaadt
			
			
			
			Jep.quote:Op woensdag 24 juni 2015 12:15 schreef Nattekat het volgende:
Klopt de tabel die de SQL query teruggeeft wel? Het is de enige plek waar $row gevuld wordt als ik het zo bekijk.
			
			
			
			Je kan controleren of er gegevens in de data zijn gezet; als er geen gegevens in data zijn gezet moet de variable data gelijk zijn aanquote:Op woensdag 24 juni 2015 12:16 schreef zarGon het volgende:
[..]
Jep.
Alleen Forum: http://fokcrew.nl/user/151187
Forum + Frontpage: http://fokcrew.nl/user/280647.
Edit:
- nu met 6 subsites in de array...
- http://fokcrew.nl/user/356028 (ik wil dus alleen de taartgrafieken met data tonen)
| 1 | google.visualization.arrayToDataTable([]) | 
			
			
			
			Waarom doe je een order by in een subquery?quote:Op woensdag 24 juni 2015 11:56 schreef zarGon het volgende:
[..]
Ik heb dit toegepast, maar heb nog op 1 punt hulp nodig.
[ code verwijderd ]
Het gaat om regel 49 t/m 54. $row['Subsite'] wordt niet aangevuld en is dus leeg.
Ik denk dat dat komt omdat het niet meer in de while() zit, maar ik krijg het niet aan de praat. Ook niet als ik nogmaals het onderstaande toevoeg op regel 48.
[ code verwijderd ]
Enig idee hoe ik $row['Subsite'] wel met de juiste waarden terugkrijg?
			
			
			
			Mijn arrayToDataTable() is altijd gevuld...quote:Op woensdag 24 juni 2015 12:32 schreef Nattekat het volgende:
[..]
Je kan controleren of er gegevens in de data zijn gezet; als er geen gegevens in data zijn gezet moet de variable data gelijk zijn aan
[ code verwijderd ]
| 1 | ([['Functie', 'Dagen'],['', ''], ['',''],['',''], ['POL', 1244],['TDF', 93],]) | 
De taartgrafiek berekent het totaal aantal dagen een functie per user. Een functie kan meerdere keren door een user bekleed worden. De view UnitDays groepeert dus per user en per functie, en neemt daarbij de startdatum van de eerste keer dat een functie bekleed wordt.quote:Op woensdag 24 juni 2015 12:43 schreef raptorix het volgende:
[..]
Waarom doe je een order by in een subquery?
			
			
			
			Maar het heeft geen enkele zin om in een subquery te ordenen (tenzij je een top/limit selectie doet), de ordering vind namelijk plaats over de uiteindelijke select die je doet.quote:Op woensdag 24 juni 2015 13:00 schreef zarGon het volgende:
[..]
Mijn arrayToDataTable() is altijd gevuld...
Elke taartgrafiek die je maakt heeft dezelfde kleuren voor de posities. Positie 1 is blauw, positie 2 is rood, 3 is geel etc etc. Als ik dus 3 grafieken maak zonder rekening te houden met de posities, hebben al die 3 grafieken dezelfde kleuren. En dat komt dan weer niet overeen met de timeline.
Daarom mijn fratsen met Rank en IsDisplayed... om de kleuren van de timeline en taartgrafieken kloppend te hebben.
[ code verwijderd ]
De eerste 3 posities zijn leeg, zodat POL en TDF de juiste kleuren hebben...
Ik heb iets anders nodig..
[..]
De taartgrafiek berekent het totaal aantal dagen een functie per user. Een functie kan meerdere keren door een user bekleed worden. De view UnitDays groepeert dus per user en per functie, en neemt daarbij de startdatum van de eerste keer dat een functie bekleed wordt.
Voorbeeld:
- ONZ - 10 dagen - 7 juni
- FOT - 15 dagen - 9 juni
- ONZ - 20 dagen - 10 juni
Resultaat UnitDays:
- ONZ - 30 dagen - 7 juni
- FOT - 15 dagen - 9 juni
Ik heb die sortering nodig om de volgorde van de timeline en taartgrafiek kloppende te houden. Anders is er een mismatch tussen de kleuren.
			
			
			
			http://fokcrew.nl/user/127981.quote:Op woensdag 24 juni 2015 13:04 schreef raptorix het volgende:
[..]
Maar het heeft geen enkele zin om in een subquery te ordenen (tenzij je een top/limit selectie doet), de ordering vind namelijk plaats over de uiteindelijke select die je doet.
			
			
			
			Ja dat kan best zijn, maar de ordering is toch echt afhankelijk van je order in de buitenste select.quote:Op woensdag 24 juni 2015 13:10 schreef zarGon het volgende:
[..]
http://fokcrew.nl/user/127981.
Zie de kleuren in de timeline en in de taartgrafiek. Zonder een order is het resultaat van de taartgrafiek alfabetisch. En dat komt niet overeen met de timeline, die chronologisch is.
			
			
			
			Hoe zou jij die query geschreven hebben? (Waar zou jij de order plaatsen? Binnen de UnitDays-subquery?)quote:Op woensdag 24 juni 2015 13:14 schreef raptorix het volgende:
[..]
Ja dat kan best zijn, maar de ordering is toch echt afhankelijk van je order in de buitenste select.
Select id,name from (select id,name from users order by id) order by name
en
Select id,name from (select id,name from users order by name) order by name
en
Select id,name from (select id,name from users) order by name
Leveren exact het zelfde op.
			
			
			
			Zie editquote:Op woensdag 24 juni 2015 13:18 schreef zarGon het volgende:
[..]
Hoe zou jij die query geschreven hebben? (Waar zou jij de order plaatsen? Binnen de UnitDays-subquery?)
			
			
			
			Zit een count in UnitDays die de unieke dagen telt. Wilde een window function gebruiken die ik gewend was bij MSSQL, maar dat vond MariaDB niet leuk.quote:Op woensdag 24 juni 2015 13:19 schreef raptorix het volgende:
[..]
Zie edit
Ik zou hem persoonlijk denk ik gewoon met een aggregate functie hebben geschreven.
			
			
			
			Ehm, ik heb geen verstand van MariaDB, ik doe het al 17 jaar in MS SQLquote:Op woensdag 24 juni 2015 13:33 schreef zarGon het volgende:
[..]
Zit een count in UnitDays die de unieke dagen telt. Wilde een window function gebruiken die ik gewend was bij MSSQL, maar dat vond MariaDB niet leuk.
Ben blij dat er geen grove fout in zit..
Enig idee of jij me kan helpen met mijn openstaande issue?
			
			
			
			Hmhmm, jammer.quote:Op woensdag 24 juni 2015 13:37 schreef raptorix het volgende:
[..]
Ehm, ik heb geen verstand van MariaDB, ik doe het al 17 jaar in MS SQL
10 jaar terug deed ik uberhaupt veel meer met SQL, maar dat kwam omdat ik toen die ene huizensite bouwde
			
			
			
			| 1 2 3  | <?php foreach(array('Forum', 'Frontpage', 'FOK!', 'Games', 'Sport', 'Weblog') as $subsite) { ?>  | 
			
			
			
			Staat de code eigenlijk op GitHub? Dan kun je FOK!kers pull requests laten doen.quote:Op woensdag 24 juni 2015 17:18 schreef zarGon het volgende:
[ code verwijderd ]
Kan ik de array niet vullen met de subsites die alleen in het resultaat van de query voorkomen? Zelf een paar dingen geprobeerd, maar hopeloos..
.
			
			
			
			Goed om te horen. Ik ben bezig met een webapplicatie en ondertussen maak ik me Symfony eigen.quote:Op woensdag 24 juni 2015 09:34 schreef KomtTijd... het volgende:
[..]
Gelukkig heb ik dat mooi in de tijd van de baas kunnen doen. Zou nu nooit meer een applicatie willen ontwikkelen zonder symfony.
			
			
			
			Eerder geprobeerd (staat ook een topic in DIG), maar geen animo.quote:Op woensdag 24 juni 2015 18:43 schreef robin007bond het volgende:
[..]
Staat de code eigenlijk op GitHub? Dan kun je FOK!kers pull requests laten doen.
			
			
			
			Is er uberhaupt een reden om het niet te doen? Je code is toch al openbaar.quote:Op woensdag 24 juni 2015 19:00 schreef zarGon het volgende:
[..]
Eerder geprobeerd (staat ook een topic in DIG), maar geen animo.
			
			
			
			
			
			
			
			Ik zou zeggen de config.php in de .gitignore en dan een config-sample.php als template erin.quote:Op woensdag 24 juni 2015 19:55 schreef robin007bond het volgende:
Bij openbare repositories, hoe doen jullie dat met databases? Gewoon de config waar de passwords instaan niet committen?
			
			
			
			Dat is wel een goede ja.quote:Op woensdag 24 juni 2015 20:50 schreef mstx het volgende:
[..]
Ik zou zeggen de config.php in de .gitignore en dan een config-sample.php als template erin.
			
			
			
			https://github.com/vlucas/phpdotenvquote:Op woensdag 24 juni 2015 19:55 schreef robin007bond het volgende:
Bij openbare repositories, hoe doen jullie dat met databases? Gewoon de config waar de passwords instaan niet committen?
			
			
			
			Eerst alle rows inlezen en dan checken of de array leeg is.quote:Op woensdag 24 juni 2015 12:15 schreef zarGon het volgende:
[..]
Hoe kan ik ervoor zorgen dat-ie een subsite (Forum, Frontpage) alleen uitvoert als er records zijn? Probleem nu is dat ik voor elke subsite 400 pixels reserveer op regel 54 (dus 2 subsites = 800 pixels), terwijl de SQL-query slechts 1 subsite bevat. (Is het te volgen?)
Voorbeeld: http://fokcrew.nl/user/151187. Frontpage bevat geen records, maar wordt alsnog getoond. (Ik heb geloof ik 6 subsites, dus dat worden vele lege ruimtes.)
| 1 2 3 4 5 6  | foreach(array('Forum', 'Frontpage') as $subsite) { $stmt->execute(array($subsite,$id)); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); if (empty($rows)) { continue; }  | 
			
			
			
			Het beste is natuurlijk om je database connectie op basis van locale gebruiksrechten te doen, en niet met een username password.quote:Op woensdag 24 juni 2015 19:55 schreef robin007bond het volgende:
Bij openbare repositories, hoe doen jullie dat met databases? Gewoon de config waar de passwords instaan niet committen?
			
			
			
			Geprobeerd, ik zag niets verschijnen op het scherm. Voor zover ik zag geen foutmeldingen.quote:Op donderdag 25 juni 2015 01:17 schreef paulb_nl het volgende:
[..]
Eerst alle rows inlezen en dan checken of de array leeg is.
[ code verwijderd ]
en de while naar foreach($rows as $row).
| 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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94  | <?php try { require('config.php'); $con= new PDO( "mysql:host=" . $settings["dbserver"] . ";dbname=" . $settings["dbname"], $settings["dbuser"], $settings["dbpass"]); $sql="SELECT @curRank := @curRank + 1 AS Rank , UnitDays.UserID , UnitDays.UserName , UnitDays.Subsite , UnitDays.Unit , UnitDays.FirstStartdate , UnitDays.NrOfUniqueDays , CASE WHEN UnitDays.Subsite = ? THEN 'Yes' ELSE 'No' END IsDisplayed FROM (SELECT UserID , UserName , Subsite , Unit , FirstStartdate , NrOfUniqueDays FROM UnitDays ORDER By UnitDays.FirstStartdate) UnitDays JOIN (SELECT @curRank := 0) r WHERE UnitDays.UserID = ? "; $stmt = $con->prepare($sql); // een closure functie, zodat $stmt automatisch beschikbaar is binnen de functie $fetchAll = function ($subsite, $id) use ($stmt) { $results = []; $stmt->execute(array($subsite, $id)); while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $results[] = $row; } return $results; }; foreach (array('Forum', 'Frontpage', 'FOK!', 'Games', 'Sport', 'Weblog') as $subsite) { $results = $fetchAll(array($subsite,$id)); $countRecord = 0; // ga door naar volgende subsite indien geen resultaten (lege array) if (!$results) { continue; } echo '<script type="text/javascript">'; echo 'google.load("visualization", "1", {packages:["corechart"]});'; echo 'google.setOnLoadCallback(drawChart);'; echo 'function drawChart() {'; echo 'var data = google.visualization.arrayToDataTable(['; echo "['Functie', 'Dagen'],['', ''], ['',''],"; if ($SelectedID == 41894 OR $SelectedID == 372780) { echo "['',''], "; } // 99.999 == du_ke // loop over resultaten met dezelfde logica als voorheen in je while loop foreach ($results as $row) { ++$countRecord; if ($row['IsDisplayed'] == 'Yes') { echo "['" . $row['Unit'] . "', " . $row['NrOfUniqueDays'] . "]"; } else { echo "['','']"; } if ($countRecord !== $row['Rank']) { echo ","; } } echo ']);'; echo 'var chart = new google.visualization.PieChart(document.getElementById("' . $subsite . '"));'; echo "var options = { title: 'Subsite: " . $subsite . "', sliceVisibilityThreshold: .00001, backgroundColor: 'transparent', tooltip: {showColorCode: true, textStyle: { color: 'black'}} };"; echo 'chart.draw(data, options);'; echo '}'; echo '</script>'; echo '<div class="piechart" id="' . $subsite . '" style="width: 100%; height:400px;"></div>'; } } // Error handeling catch(PDOException $e) { echo '<pre>'; echo 'Regel: '.$e->getLine(). '<br />'; echo 'Bestand: '.$e->getFile(). '<br />'; echo 'Foutmelding: '.$e->getMessage(); echo '</pre>'; } ?>  | 
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.Voorbeeld: http://fokcrew.nl/user/151187 (onderaan).
Regel 339 en verder:($fetchAll is regel 339.)
1 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21<?php 
$fetchAll = function ($subsite, $id) use ($stmt) {
$results = [];
$stmt->execute(array($subsite, $id));
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$results[] = $row;
}
return $results;
};
foreach (array('Forum', 'Frontpage', 'FOK!', 'Games', 'Sport', 'Weblog') as $subsite) {
$results = $fetchAll(array($subsite,$id));
$countRecord = 0;
// ga door naar volgende subsite indien geen resultaten (lege array)
if (!$results) {
continue;
}
?>
Enig idee wat ik over het hoofd zie?
			
			
			
			| 1 | $fetchAll(var) | 
| 1 | $fetchAll(var, var) | 
			
			
			
			Klinkt logisch, alleen heb ik niet echt een idee voor een oplossing.quote:Op donderdag 25 juni 2015 15:36 schreef Nattekat het volgende:
$fetchAll(array($subsite,$id)) deze functie klopt niet, je roept hierbij aan:
[ code verwijderd ]
Terwijl je gedeclareerd hebt:
[ code verwijderd ]
Er mist dus een parameter.
			
			
			
			Je geeft nu een array van twee elementen mee, als je die twee elementen los meegeeft moet het werken.quote:Op donderdag 25 juni 2015 15:47 schreef zarGon het volgende:
[..]
Klinkt logisch, alleen heb ik niet echt een idee voor een oplossing.. Ik moet ergens een parameter extra meegeven, of de functie aanpassen?
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21  | <?php $fetchAll = function ($subsite, $id) use ($stmt) { $results = []; $stmt->execute(array($subsite, $id)); while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $results[] = $row; } return $results; }; foreach (array('Forum', 'Frontpage', 'FOK!', 'Games', 'Sport', 'Weblog') as $subsite) { $results = $fetchAll($subsite,$id); $countRecord = 0; // ga door naar volgende subsite indien geen resultaten (lege array) if (!$results) { continue; } ?>  | 
			
			
			
			Foutmelding is weg, en het werkt!quote:Op donderdag 25 juni 2015 15:51 schreef Nattekat het volgende:
[..]
Je geeft nu een array van twee elementen mee, als je die twee elementen los meegeeft moet het werken.
Dan krijg je dus:
[ code verwijderd ]
Regel 14 is veranderd
			
			
			
			Laravel dagelijks, OctoberCMS niet.quote:Op donderdag 25 juni 2015 17:52 schreef Qunix het volgende:
2 kudoos voor de TT.
Iemand hier die wat doet met Laravel? en OctoberCMS?
			
			
			
			Dagelijks als in je werk?quote:Op donderdag 25 juni 2015 18:17 schreef TwenteFC het volgende:
[..]
Laravel dagelijks, OctoberCMS niet.
			
			
			
			Nice!quote:Op donderdag 25 juni 2015 18:48 schreef TwenteFC het volgende:
[..]
Ja, en in het weekend voor de hobby ook nog vaak.
			
			
			
			
			
			
			
			Geen bestaande systemen, alles inhouse gemaakt.quote:Op donderdag 25 juni 2015 18:52 schreef Qunix het volgende:
[..]
Nice!
Ik ben nu met een site bezig (staat nog niet live) in OctoberCMS. Wat gebruik jij als CMS (of als admin)?
			
			
			
			https://github.com/briannesbitt/Carbonquote:Op donderdag 25 juni 2015 18:54 schreef robin007bond het volgende:
Mijn mening over PHP is wel veranderd sinds ik met zo'n goed framework bezig ben. Positief.
Één ding erger ik me nog wel heel erg aan:
Het optellen en aftrekken van datums. Dat is echt een gedoe met dat DateInterval vind ik.
			
			
			
			http://carbon.nesbot.com/quote:Op donderdag 25 juni 2015 18:54 schreef robin007bond het volgende:
Mijn mening over PHP is wel veranderd sinds ik met zo'n goed framework bezig ben. Positief.
Één ding erger ik me nog wel heel erg aan:
Het optellen en aftrekken van datums. Dat is echt een gedoe met dat DateInterval vind ik.
			
			
			
			Dat ziet er mooi uit.quote:Op donderdag 25 juni 2015 18:55 schreef TwenteFC het volgende:
[..]
https://github.com/briannesbitt/Carbon
			
			
			
			
			
			
			
			Elke keer wanneer ik een oplossing zoek voor iets waarvan ik het vermoeden heb dat iemand er vast al iets moois voor gemaakt heeft zoek ik altijd eerst een beetje rond op https://packagist.org/quote:Op donderdag 25 juni 2015 18:57 schreef robin007bond het volgende:
Dit had ik veel eerder moeten weten. Ik heb zulke fucking dirty trucjes uit moeten halen om fatsoenlijk meerdere datums van elkaar af te trekken en dergelijke.En vergelijkingen met unix timestamps en dergelijke. Niet echt meer van deze tijd.
			
			
			
			Leuke frameworks, werkt fantastisch, maar nog steeds de taal zelf wat ik lelijk blijf vindenquote:Op donderdag 25 juni 2015 18:54 schreef robin007bond het volgende:
Mijn mening over PHP is wel veranderd sinds ik met zo'n goed framework bezig ben. Positief.
			
			
			
			Bedankt voor de tip, Packagist kende ik al en uiteraard gebruik ik ook Composer. Maar ik moet er inderdaad wat vaker op kijken.quote:Op donderdag 25 juni 2015 18:59 schreef TwenteFC het volgende:
[..]
Elke keer wanneer ik een oplossing zoek voor iets waarvan ik het vermoeden heb dat iemand er vast al iets moois voor gemaakt heeft zoek ik altijd eerst een beetje rond op https://packagist.org/
Heel eenvoudig zoeken door composer compatible packages.
			
			
			
			Op een USB installeren thuis en booten vanaf USB op je werk.quote:Op donderdag 25 juni 2015 19:04 schreef robin007bond het volgende:
[..]
Bedankt voor de tip, Packagist kende ik al en uiteraard gebruik ik ook Composer. Maar ik moet er inderdaad wat vaker op kijken.
Developen op Windows vind ik trouwens een stuk minder chill. En ik vind het iets teveel van het goede om een GNU/Linuxdistributie geïnstalleerd te vragen bij mijn werkgever.(zeker omdat ik vakantiekracht ben).
			
			
			
			Ja, de taal zelf is lelijk. En vooral de procedurele stijl en OOP-stijl door elkaar.quote:Op donderdag 25 juni 2015 18:59 schreef Qunix het volgende:
[..]
Leuke frameworks, werkt fantastisch, maar nog steeds de taal zelf wat ik lelijk blijf vinden
Oh, en java is absoluut niet beter.
			
			
			
			Ja, kan. Maar dan moet ik wel fatsoenlijk op een active directory kunnen inloggen en dergelijke. Geen zin om dat helemaal te configureren.quote:Op donderdag 25 juni 2015 19:06 schreef Qunix het volgende:
[..]
Op een USB installeren thuis en booten vanaf USB op je werk.
			
			
			
			Volledig met je eens, ik zit op mijn werk (helaas) ook met een windowsbak en onze development omgevingen draaien in VirtualBox. Die trage filesharing zorgt er voor dat een simpele pagina er ~500ms over kan doen om te laden. Al wel een paar testjes gedaan met VMware en dat werkt al een heel stuk vlotter.quote:Op donderdag 25 juni 2015 19:04 schreef robin007bond het volgende:
[..]
Bedankt voor de tip, Packagist kende ik al en uiteraard gebruik ik ook Composer. Maar ik moet er inderdaad wat vaker op kijken.
Developen op Windows vind ik trouwens een stuk minder chill. En ik vind het iets teveel van het goede om een GNU/Linuxdistributie geïnstalleerd te vragen bij mijn werkgever.(zeker omdat ik vakantiekracht ben).
			
			
			
			Ik zou in ieder geval die CASE uit de sql halen en in php checken zodat je maar 1 keer de database hoeft aan te roepen ipv 6 keerquote:Op donderdag 25 juni 2015 15:57 schreef zarGon het volgende:
[..]
Foutmelding is weg, en het werkt!
Ik zie alleen weer alle subsites, maar dat klopt ook... Ik heb iets over het hoofd gezien. Argh....
Er vindt geen filtering plaats (geen ?) op subsite, alleen op ID. Dus het resultaat is altijd gevuld..
Ik heb alle records nodig, daarom geen filtering op subsite.
Ugh... Ik moet dus een andere oplossing vinden, eentje waarin bepaald wordt of de subsite wel of niet voorkomt en dat doorgeven of zo.
Bedankt in ieder geval.
			
			
			
			Het valt te proberen ja.quote:Op donderdag 25 juni 2015 19:08 schreef TwenteFC het volgende:
[..]
Volledig met je eens, ik zit op mijn werk (helaas) ook met een windowsbak en onze development omgevingen draaien in VirtualBox. Die trage filesharing zorgt er voor dat een simpele pagina er ~500ms over kan doen om te laden. Al wel een paar testjes gedaan met VMware en dat werkt al een heel stuk vlotter.
En daarnaast nog alle gekke trucjes en dergelijke die je uit moet halen voor gulp en dat soort tools.Development is bij ons niet de core-business, dus imacs zitten er helaas niet in, dat booten van Ubuntu via USB is misschien ook nog wel een test waard.
			
			
			
			Java is volstrekt anders. Java is een volwaardige programmeertaal, PHP is bedoeld voor web front end. Veel plezier met het ontwikkelingen van toepassingen waarbij je gebruik moet maken van JMS of ESB achtige oplossingen in PHP. Fatsoenlijke threading kun je ook vergeten.quote:Op donderdag 25 juni 2015 18:59 schreef Qunix het volgende:
[..]
Leuke frameworks, werkt fantastisch, maar nog steeds de taal zelf wat ik lelijk blijf vinden
Oh, en java is absoluut niet beter.
			
			
			
			| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15  |    <div id="form" class="form" style="float:right;"> <h1>Driver, you've been flyin'!</h1> <form action="insert.php" method="post"> <input name="license" id="license" type="text" placeholder="Your licenceNumber"> <input name="time" id="time" type="text" placeholder="What Time"> <input name="where" id="where" type="text" placeholder="Which Road?"> <input name="comment" id="comment" type="text" placeholder="Any additional comments?"> <input name="button" type="submit" value="Send me my Fine"> </form> <p/> Dit is formulier 2.<p/> Als je dit formulier invult ga je naar "insert.php". <p/>Daar wordt wat je hebt ingevuld in de database gezet <span class="bold">(2pt)</span>, tenminste, <u>als</u> je alle velden heb ingevuld.<span class="bold">(1pt)</span><p/>Eerst moet moet je nog in phpMyAdmin een tabel maken met de naam "verkeersboetes"<span class="bold">(2pt)</span>.<p/>Alles uit de tabel verkeersboetes moet meteen na het toevoegen ook wordenuitgelezen op die pagina <span class="bold">(2pt)</span>. </div>  | 
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15  | <table width="600" border="0" cellspacing="4" cellpadding="4"> <tr> <td>Licence nr</td> <td>Time</td> <td>Place</td> <td>Comment</td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> </tr> </table>  | 
			
			
			
			Gewoon met POST of GET.quote:Op vrijdag 26 juni 2015 16:41 schreef ikbenrond het volgende:
Hallo..
[ code verwijderd ]
Stel ik wil deze uitlezen naar een andere pagina? Kan dat? insert.php heeft deze tabelletjes, daar moeten de gegevens inkomen
[ code verwijderd ]
			
			
			
			
			
			
			
			Als je Vagrant gebruikt zijn deze tips misschien iets voor je: https://stefanwrobel.com/how-to-make-vagrant-performance-not-suckquote:Op donderdag 25 juni 2015 19:08 schreef TwenteFC het volgende:
[..]
Volledig met je eens, ik zit op mijn werk (helaas) ook met een windowsbak en onze development omgevingen draaien in VirtualBox. Die trage filesharing zorgt er voor dat een simpele pagina er ~500ms over kan doen om te laden. Al wel een paar testjes gedaan met VMware en dat werkt al een heel stuk vlotter.
En daarnaast nog alle gekke trucjes en dergelijke die je uit moet halen voor gulp en dat soort tools.Development is bij ons niet de core-business, dus imacs zitten er helaas niet in, dat booten van Ubuntu via USB is misschien ook nog wel een test waard.
			
			
			
			Engels is inderdaad consequenter en daarbij werk ik grotendeels met expats die niet of nauwelijks Nederlands spreken.quote:Op maandag 29 juni 2015 23:31 schreef TwenteFC het volgende:
In welke taal programmeren jullie meestal, dus ik bedoel letterlijk de taal![]()
Nederlands of Engels?
Ik hink wat dat betreft altijd op twee gedachten, persoonlijk vind ik Engels fijner lezen en consequenter aangezien standaard functionaliteiten van de programmeertaal ook in het Engels zijn.
Maar daarentegen vind ik het persoonlijk ook altijd wel fijn om specifieke bedrijfsacties welke door iedereen om mij heen zo genoemd worden in de code ook zo te noemen.
Bijvoorbeeld het woord adviesprijs om maar iets simpels te noemen, er zal hier niemand zijn die het suggestedRetailPrice noemt. En uit ervaring heb ik gemerkt dat een mengelmoes ook altijd zo'n bende wordt en dat het snel leidt tot inconsequente naamgevingen.
			
			
			
			Zijn er serieus mensen die in Nederlands programmeren?quote:Op maandag 29 juni 2015 23:31 schreef TwenteFC het volgende:
In welke taal programmeren jullie meestal, dus ik bedoel letterlijk de taal![]()
Nederlands of Engels?
Ik hink wat dat betreft altijd op twee gedachten, persoonlijk vind ik Engels fijner lezen en consequenter aangezien standaard functionaliteiten van de programmeertaal ook in het Engels zijn.
Maar daarentegen vind ik het persoonlijk ook altijd wel fijn om specifieke bedrijfsacties welke door iedereen om mij heen zo genoemd worden in de code ook zo te noemen.
Bijvoorbeeld het woord adviesprijs om maar iets simpels te noemen, er zal hier niemand zijn die het suggestedRetailPrice noemt. En uit ervaring heb ik gemerkt dat een mengelmoes ook altijd zo'n bende wordt en dat het snel leidt tot inconsequente naamgevingen.
			
			
			
			Bij overheidsprojecten helemaal niet ongebruikelijk, zeker niet als het een wat gedateerde codebase is.quote:Op dinsdag 30 juni 2015 09:11 schreef boem-dikkie het volgende:
[..]
Zijn er serieus mensen die in Nederlands programmeren?
			
			
			
			En wat zou de reden zijn geweest om dat te doen?quote:Op dinsdag 30 juni 2015 09:14 schreef Tijn het volgende:
[..]
Bij overheidsprojecten helemaal niet ongebruikelijk, zeker niet als het een wat gedateerde codebase is.
			
			
			
			Geen idee. Misschien om de termen die in de wet staan terug te laten komen in de code, voor de duidelijkheid?quote:Op dinsdag 30 juni 2015 09:27 schreef boem-dikkie het volgende:
[..]
En wat zou de reden zijn geweest om dat te doen?
			
			
			
			Daar heb je comments voor indien nodig. Het lijkt me eerder een soort overblijfsel uit een tijd waarin Engels nog wat minder gemeengoed was dan tegenwoordig. Ik kom incidenteel (met name in de PHP hoek, waar toch b.v. meer MBO'ers zitten dan in de Java hoek) nog wel eens developers tegen die het Engels niet echt goed beheersen. Die hebben nog wel eens de neiging om applicaties in het Nederlands te ontwikkelen.quote:Op dinsdag 30 juni 2015 09:33 schreef Tijn het volgende:
[..]
Geen idee. Misschien om de termen die in de wet staan terug te laten komen in de code, voor de duidelijkheid?
			
			
			
			
			
			
			
			daar is abstractie voor, termen gaan ook met de tijd mee.quote:Op dinsdag 30 juni 2015 11:34 schreef Scarlet_Dragonfly het volgende:
Wij schrijven software voor zorgaanbieders/zorgverleners/zorgverzekeraars/etc.
Het zorgstelsel is zo totaal specifiek voor Nederland dat er voor heel veel termen helemaal geen geschikte Engelse vertaling te bedenken is.
Daarom is ons domein ook geheel met Nederlandse termen uitgeprogrammeerd.
			
			
			
			Mja, ik weet het niet hoor. Zoveel code die is geschreven voor de jaren '80 is er nou ook weer niet nog in gebruik. En ik zou denken dat in die tijd Engels minstens zo mainstream was als het nu is.quote:Op dinsdag 30 juni 2015 11:28 schreef Monolith het volgende:
[..]
Het lijkt me eerder een soort overblijfsel uit een tijd waarin Engels nog wat minder gemeengoed was dan tegenwoordig.
			
			
			
			ik zie bij beginners wel vaak Nederlands er in glippen. Best practice is er nog niet overal ingeslopen, en dan zijn er nog de uitzonderlijke gevallen zoals zorg. Bij bedrijven is ook enorm veel legacy van pre-best practice tijden en zo kom je het toch zo nu en dan wel tegen.quote:Op dinsdag 30 juni 2015 14:55 schreef Tijn het volgende:
[..]
Mja, ik weet het niet hoor. Zoveel code die is geschreven voor de jaren '80 is er nou ook weer niet nog in gebruik. En ik zou denken dat in die tijd Engels minstens zo mainstream was als het nu is.
			
			
			
			Ik doe het soms ook, wat niet meehelpt is dat alle kolomnamen in onze database ook Nederlands zijn. Ik ben er ook niet trots op en zeker in persoonlijke projecten is alles Engels.quote:Op dinsdag 30 juni 2015 09:11 schreef boem-dikkie het volgende:
[..]
Zijn er serieus mensen die in Nederlands programmeren?
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			Het is wel eens handig als je wat CSV data b.v. in code moet hangen voor een snel tooltje, waar je in Excel dan even wat tekst splitst en samenvoegt met code om er hashmap.put("key","value"); statements van te maken.quote:Op dinsdag 30 juni 2015 19:04 schreef KomtTijd... het volgende:
Excel is sowieso faal om daarin te programmeren. De enigen die dat doen zijn managers, secretaresen etc., en daar is het ook voor gemaakt en daarom is het Nederlands.
			
			
			
			
			
			
			
			
			
			
			
			Heb op het werk geen Mac, dus zo uit de doos werkt het niet op windows.quote:Op dinsdag 30 juni 2015 01:01 schreef totalvamp het volgende:
[..]
Als je Vagrant gebruikt zijn deze tips misschien iets voor je: https://stefanwrobel.com/how-to-make-vagrant-performance-not-suck
VirtualBox is inderdaad onwijs traag met filesharing. daarom moet je NFS aanzetten
			
			
			
			Maar als je bv data wilt exporteren naar CSV zodat de gebruiker het in Excel kan laden, dan moet je eigenlijk weten of diegene met een NLse of Engelse versie van Excel werkt.quote:Op dinsdag 30 juni 2015 19:10 schreef Monolith het volgende:
Voor CSV gebruik ik toch ook echt liever Calc.
			
			
			
			Hoezo? Doel je nu op het scheiden van de kolommen en dergelijke?quote:Op dinsdag 30 juni 2015 19:21 schreef Tijn het volgende:
[..]
Maar als je bv data wilt exporteren naar CSV zodat de gebruiker het in Excel kan laden, dan moet je eigenlijk weten of diegene met een NLse of Engelse versie van Excel werkt.
			
			
			
			Ja. De Engelse versie gebruikt komma's, de Nederlandse puntkomma's.quote:Op dinsdag 30 juni 2015 19:22 schreef TwenteFC het volgende:
[..]
Hoezo? Doel je nu op het scheiden van de kolommen en dergelijke?
			
			
			
			quote:Op dinsdag 30 juni 2015 19:32 schreef Tijn het volgende:
[..]
Ja. De Engelse versie gebruikt komma's, de Nederlandse puntkomma's.
			
			
			
			Calc doet gewoon een pop-up bij het openen met de keuze voor scheidingsteken(s) en dergelijke. In Excel moet je dan weer die tekst naar kolommen functionaliteit gebruiken, maar dan is de gemiddelde Excel gebruiker al afgehaakt en boze mails aan het sturen.quote:Op dinsdag 30 juni 2015 19:32 schreef Tijn het volgende:
[..]
Ja. De Engelse versie gebruikt komma's, de Nederlandse puntkomma's.
			
			
			
			Kun je dat niet net zo goed met een macro doen in je favoriete tekstbewerker? Of IDE?quote:Op dinsdag 30 juni 2015 19:08 schreef Monolith het volgende:
[..]
Het is wel eens handig als je wat CSV data b.v. in code moet hangen voor een snel tooltje, waar je in Excel dan even wat tekst splitst en samenvoegt met code om er hashmap.put("key","value"); statements van te maken.
			
			
			
			Oh dat kan ook wel hoor, maar dat is meer gedoe voor een dergelijke eenmalige conversie. Als dingen vaker voorkomen kun je bv zaken als live templates in IntelliJ gebruiken.quote:Op dinsdag 30 juni 2015 19:36 schreef robin007bond het volgende:
[..]
Kun je dat niet net zo goed met een macro doen in je favoriete tekstbewerker? Of IDE?
			
			
			
			En meestal gokt die popup zelf al goed hoe die kolommen eruit zien. (Of heb ik gewoon heel vaak geluk?)quote:Op dinsdag 30 juni 2015 19:36 schreef Monolith het volgende:
[..]
Calc doet gewoon een pop-up bij het openen met de keuze voor scheidingsteken(s) en dergelijke. In Excel moet je dan weer die tekst naar kolommen functionaliteit gebruiken, maar dan is de gemiddelde Excel gebruiker al afgehaakt en boze mails aan het sturen.
			
			
			
			Klopt, zit ook nog een preventieve scan op veel voorkomende separators in inderdaad.quote:Op dinsdag 30 juni 2015 19:54 schreef KomtTijd... het volgende:
[..]
En meestal gokt die popup zelf al goed hoe die kolommen eruit zien. (Of heb ik gewoon heel vaak geluk?)
			
			
			
			Is gelukkig met 3 klikken wel te veranderenquote:Op dinsdag 30 juni 2015 19:32 schreef Tijn het volgende:
[..]
Ja. De Engelse versie gebruikt komma's, de Nederlandse puntkomma's.
			
			
			
			Je moet ze eigenlijk gewoon een mooi dashboardje gunnen, met statistieken. ShinyDashboard ftw.quote:Op dinsdag 30 juni 2015 20:19 schreef TwenteFC het volgende:
[..]
Is gelukkig met 3 klikken wel te veranderen![]()
Managers met hun CSV/Excel overzichten
			
			
			
			Zonder dollen, wat ze doen met overzichten uit ons backofficesysteem is alles kopiëren en plakken naar Excel en vervolgens daar zelf filters maken.quote:Op dinsdag 30 juni 2015 20:21 schreef robin007bond het volgende:
[..]
Je moet ze eigenlijk gewoon een mooi dashboardje gunnen, met statistieken. ShinyDashboard ftw.
			
			
			
			In die zin is iedereen wel een beetje autistisch. Ironisch genoeg juist vaak digibeten die geen ander programma willen dan dat ze gewend zijn.quote:Op dinsdag 30 juni 2015 20:26 schreef Monolith het volgende:
Mensen vallen vaak terug op wat ze kennen.
			
			
			
			Dat heeft weinig met autisme van doen. Digibeten willen juist niet anders omdat ze het zich moeilijk eigen kunnen maken.quote:Op dinsdag 30 juni 2015 20:31 schreef robin007bond het volgende:
[..]
In die zin is iedereen wel een beetje autistisch. Ironisch genoeg juist vaak digibeten die geen ander programma willen dan dat ze gewend zijn.
			
			
			
			quote:Op dinsdag 30 juni 2015 20:35 schreef Monolith het volgende:
[..]
Dat heeft weinig met autisme van doen. Digibeten willen juist niet anders omdat ze het zich moeilijk eigen kunnen maken.
Als je iets gebruikt dat werkt en waar je vertrouwd mee bent zodat je er zeker van weet dat je geen fouten maakt is er niet direct reden om iets anders te gaan gebruiken, tenzij dat echt enorm veel efficiënter is.
			
			
			
			Hmm, dat is ook waar inderdaad.quote:Op dinsdag 30 juni 2015 20:35 schreef Monolith het volgende:
[..]
Dat heeft weinig met autisme van doen. Digibeten willen juist niet anders omdat ze het zich moeilijk eigen kunnen maken.
Als je iets gebruikt dat werkt en waar je vertrouwd mee bent zodat je er zeker van weet dat je geen fouten maakt is er niet direct reden om iets anders te gaan gebruiken, tenzij dat echt enorm veel efficiënter is.
			
			
			
			Tja, als mensen vervolgens de verkeerde filters en dergelijke gaan gebruiken, dan kan je data nog zo correct zijn, maar dan is het rapport niet zo zinvol.quote:Op dinsdag 30 juni 2015 20:36 schreef TwenteFC het volgende:
[..]Heuy, mijn overzichten zijn per definitie foutloos.
			
			
			
			Ben het met je eens hoorquote:Op dinsdag 30 juni 2015 20:39 schreef Monolith het volgende:
[..]
Tja, als mensen vervolgens de verkeerde filters en dergelijke gaan gebruiken, dan kan je data nog zo correct zijn, maar dan is het rapport niet zo zinvol.
			
			
			
			
			
			
			
			| 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 27 28 29 30 31 32  | <?php /* Handles month/year increment calculations in a safe way, avoiding the pitfall of 'fuzzy' month units. Returns a DateTime object with incremented month values, and a date value == 1. */ function incrementDate($startDate, $monthIncrement = 0) { $startingTimeStamp = $startDate->getTimestamp(); // Get the month value of the given date: $monthString = date('Y-m', $startingTimeStamp); // Create a date string corresponding to the 1st of the give month, // making it safe for monthly calculations: $safeDateString = "first day of $monthString"; // Increment date by given month increments: $incrementedDateString = "$safeDateString $monthIncrement month"; $newTimeStamp = strtotime($incrementedDateString); $newDate = DateTime::createFromFormat('U', $newTimeStamp); return $newDate; } $currentDate = new DateTime(); $oneMonthAgo = incrementDate($currentDate, -1); $twoMonthsAgo = incrementDate($currentDate, -2); $threeMonthsAgo = incrementDate($currentDate, -3); echo "THIS: ".$currentDate->format('F Y') . "<br>"; echo "1 AGO: ".$oneMonthAgo->format('F Y') . "<br>"; echo "2 AGO: ".$twoMonthsAgo->format('F Y') . "<br>"; echo "3 AGO: ".$threeMonthsAgo->format('F Y') . "<br>"; ?>  | 
| 1 2 3 4  | <?php /* Set locale to Dutch */ setlocale(LC_ALL, 'nl_NL'); ?>  | 
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |