Dat bedoel ikquote:
ja die strings in de eerste output die ik gaf klopte niet, maar de timestamps blijven hetzelfde en de volgorde ervan snap ik nog steeds niet helemaal. toen ik een unit test schreef ging ik er van uit dat amsterdam in het midden zou zitten qua timestamp voor "today", maar dat klopt dus nietquote:Op woensdag 22 oktober 2014 21:01 schreef Light het volgende:
[..]
Nee. Om te beginnen kloppen die strings niet. En het probleem met "today" is dat je niet weet welke dat je krijgt. In Australië is 23 oktober al begonnen, dus krijg je die datum als je "today" gebruikt. In de andere gebieden is dat niet het geval en krijg je 22 oktober.
int(1413950400)
2014-10-22 00:00:00-0400
int(1413928800)
2014-10-22 00:00:00+0200
int(1413982800)
2014-10-23 00:00:00+1100
Eigenlijk zoek je voor Sydney deze tijd:
int(1413896400)
2014-10-22 00:00:00+1100
Light gaf het al aan: timestamps gaan van UTC uit (tijdzone 0).quote:Op woensdag 22 oktober 2014 21:27 schreef wipes66 het volgende:
[..]
ja die strings in de eerste output die ik gaf klopte niet, maar de timestamps blijven hetzelfde en de volgorde ervan snap ik nog steeds niet helemaal. toen ik een unit test schreef ging ik er van uit dat amsterdam in het midden zou zitten qua timestamp voor "today", maar dat klopt dus niet
1 2 3 | 2014-10-22T04:00:00+00:00 New York 2014-10-21T22:00:00+00:00 Amsterdam 2014-10-22T13:00:00+00:00 Sydney |
Nee, Sydney is de kleinste, dan Nederland, en New York is de grootste. De reden dat het mis lijkt te gaan voor Sydney is dat het daar inmiddels 07:18 is op 23 oktober waar Nederland en New York nog in 22 oktober leven.quote:Op woensdag 22 oktober 2014 22:03 schreef Aether het volgende:
[..]
Light gaf het al aan: timestamps gaan van UTC uit (tijdzone 0).
Misschien dat het duidelijker is als UTC:
[ code verwijderd ]
Door zomertijd geldt voor Nederland tijdzone +02 t.o.v. UTC. Als het middernacht is, is het 22 uur 's avonds de vorige dag in UTC (tweede regel).
New York loopt 4 uur achter t.o.v. UTC. Als het daar middernacht is, is het 4 uur 's ochtends UTC.
Sydney loopt 11 uur voor op UTC. Als het daar middernacht is, is het 24 - 11 = 13 uur 's middags UTC (omdat het op het moment van meten al een dag later is in Australië).
Vanuit UTC gezien is Nederland de kleinste timestamp, daarna New York en dan Sydney.
Amsterdam zit in het midden als je het over dezelfde dag hebt. Maar 'today' is niet voor alle tijdzones hetzelfde. Als je het over een uur weer probeert, is de timestamp van Sydney voor 'today' wel kleiner dan die van Amsterdam voor 'today'.quote:Op woensdag 22 oktober 2014 21:27 schreef wipes66 het volgende:
[..]
ja die strings in de eerste output die ik gaf klopte niet, maar de timestamps blijven hetzelfde en de volgorde ervan snap ik nog steeds niet helemaal. toen ik een unit test schreef ging ik er van uit dat amsterdam in het midden zou zitten qua timestamp voor "today", maar dat klopt dus niet
En zowaar geschiedde:quote:Op woensdag 22 oktober 2014 23:04 schreef Light het volgende:
[..]
Amsterdam zit in het midden als je het over dezelfde dag hebt. Maar 'today' is niet voor alle tijdzones hetzelfde. Als je het over een uur weer probeert, is de timestamp van Sydney voor 'today' wel kleiner dan die van Amsterdam voor 'today'.
1 2 3 | string(31) "Thu, 23 Oct 2014 00:00:00 -0400" int(1414036800) string(31) "Thu, 23 Oct 2014 00:00:00 +0200" int(1414015200) string(31) "Thu, 23 Oct 2014 00:00:00 +1100" int(1413982800) |
Wat wil je eigenlijk bereiken, dit lijkt namelijk op een unittest van DateTime zelf..quote:Op woensdag 22 oktober 2014 19:45 schreef wipes66 het volgende:
heeft iemand verstand van timezones? ik probeer "today 00:00" om te zetten in een timestamp, maar wel afhankelijk van een tijdzone (via DateTime). in de unittest vergelijk ik new-york, amsterdam en die van sydney. maar die van amsterdam blijkt lager te zijn dan die van new-york?
een class testen, die inderdaad niet veel meer dan datetime gebruikt. maar goed, het komt wel vaker voor dat je dingen test die gebruik maken van iets dat op zichzelf ook al getest wordt tochquote:Op donderdag 23 oktober 2014 18:43 schreef slacker_nl het volgende:
[..]
Wat wil je eigenlijk bereiken, dit lijkt namelijk op een unittest van DateTime zelf..
Over het algemeen maak je dan gebruik van mocks. Die kun je namelijk configureren zodat ze precies doen wat je wilt en je niet afhankelijk bent van de interne werking van die class.quote:Op donderdag 23 oktober 2014 19:03 schreef wipes66 het volgende:
[..]
een class testen, die inderdaad niet veel meer dan datetime gebruikt. maar goed, het komt wel vaker voor dat je dingen test die gebruik maken van iets dat op zichzelf ook al getest wordt toch
Zoiets? http://sourceforge.net/projects/phpocr/quote:Op zaterdag 25 oktober 2014 17:53 schreef xaban06 het volgende:
Iemand bekend met text uitlezen uit foto's?
Rekening houdend met:
- Je weet van te voren niet hoe groot de plaatje dus, kan altijd verschillend zijn.
- Je weet wel de opbouw van de text, is altijd <xx> karakters lang.
- Je weet de kleur van de tekst (zwart, maar zal uiteraard altijd een ander tint zwart zijn, want foto's).
- Je weet de achtergrondkleur van de tekst.
Zijn hier libraries voor?
Daarmee kan je tekst uit screenshots lezen, ik heb het echt over foto's. Geen screenshots oid.quote:Op zaterdag 25 oktober 2014 18:05 schreef bondage het volgende:
[..]
Zoiets? http://sourceforge.net/projects/phpocr/
Nee, voor dat soort specifieke gevallen zijn geen libraries. Wat je natuurlijk zou kunnen doen is het voorbewerken van de afbeelding en dan een standaard OCR oplossing gebruiken.quote:Op zaterdag 25 oktober 2014 17:53 schreef xaban06 het volgende:
Iemand bekend met text uitlezen uit foto's?
Rekening houdend met:
- Je weet van te voren niet hoe groot de plaatje dus, kan altijd verschillend zijn.
- Je weet wel de opbouw van de text, is altijd <xx> karakters lang.
- Je weet de kleur van de tekst (zwart, maar zal uiteraard altijd een ander tint zwart zijn, want foto's).
- Je weet de achtergrondkleur van de tekst.
Zijn hier libraries voor?
1 | mysql -h localhost -uUSERNAME --password="PASSWORD" -e "SET @variable_file=123" < ./testSqlMetParamenter.sql |
1 2 | use hub_test; INSERT INTO mut_pcdata_results ( filename, starttime ) VALUES ( @variable_file, NOW() ); |
1 | mysql -h localhost -uUSERNAME --password="PASSWORD" -e "SET @variable_file=123; source ./testSqlMetParamenter.sql" |
Ken je dit al? https://www.cs.rochester.edu/~ferguson/poker/ipp.htmlquote:Op vrijdag 31 oktober 2014 00:56 schreef TwenteFC het volgende:
Een aantal jaar geleden al eens geprobeerd om te maken, destijds niet gelukt.
Nu in een uurtje dit er uit gerammeld, morgen maar eens kijken naar de winnaars berekening. En zorgen dat je/er ingezet wordt.
[ afbeelding ]
Wanneer het af is zal ik de code wel op github gooien.
Kende deze nog niet nee, ziet er wel handig uit.quote:Op vrijdag 31 oktober 2014 08:46 schreef slacker_nl het volgende:
[..]
Ken je dit al? https://www.cs.rochester.edu/~ferguson/poker/ipp.html
1 | SELECT `provincie`, `brandstof`, `gewichtStart`, `tarief` FROM `wegenbelasting` WHERE `brandstof` = 'diesel' AND `gewichtstart` < '1370' |
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 | provincie brandstof gewichtstart tarief Drenthe Diesel 1 93 Drenthe Diesel 551 113 Drenthe Diesel 651 133 Drenthe Diesel 751 160 Drenthe Diesel 851 196 Drenthe Diesel 951 232 Drenthe Diesel 1051 268 Drenthe Diesel 1151 305 Drenthe Diesel 1251 341 **Drenthe Diesel 1351 377 Noord-Holland Diesel 1 90 Noord-Holland Diesel 551 109 Noord-Holland Diesel 651 129 Noord-Holland Diesel 751 154 Noord-Holland Diesel 851 189 Noord-Holland Diesel 951 223 Noord-Holland Diesel 1051 257 Noord-Holland Diesel 1151 290 Noord-Holland Diesel 1251 324 **Noord-Holland Diesel 1351 358 Utrecht Diesel 1 91 Utrecht Diesel 551 110 Utrecht Diesel 651 130 Utrecht Diesel 751 156 Utrecht Diesel 851 190 Utrecht Diesel 951 225 Utrecht Diesel 1051 259 Utrecht Diesel 1151 294 Utrecht Diesel 1251 328 **Utrecht Diesel 1351 363 |
1 2 3 | Drenthe Diesel 1 93 Noord-Holland Diesel 1 90 Utrecht Diesel 1 91 |
1 2 3 4 5 6 7 8 9 10 | SELECT `provincie`, `brandstof`, `gewichtStart`, `tarief` FROM `wegenbelasting` WHERE `brandstof` = 'diesel' AND `gewichtstart` = ( SELECT gewichtstart FROM wegenbelasting WHERE gewichtstart < 1370 AND brandstof = 'diesel' ORDER BY gewichtstart DESC LIMIT 1 ) |
1 2 3 4 5 6 | select gewicht from wegenbelasting where gewicht = ( select max(gewicht) from wegenbelasting where gewicht < 1370) |
Zit nu mobiel, kan niet testen, maar ik wil de resultaat van ieder provincie. Dus niet alleen de duurste provincie.quote:Op zaterdag 1 november 2014 21:31 schreef slacker_nl het volgende:
Simplified:
[ code verwijderd ]
Mogelijk zou je het met een join kunnen doen. Maar dat laat ik aan jou over.
Die van slacker_nl is denk ik beter:quote:Op zaterdag 1 november 2014 21:38 schreef xaban06 het volgende:
[..]
Deze zou wel eens kunnen werken. Thanks!
1 2 3 4 5 6 7 8 9 | SELECT `provincie`, `brandstof`, `gewichtStart`, `tarief` FROM `wegenbelasting` WHERE `brandstof` = 'diesel' AND `gewichtstart` = ( SELECT MAX(gewichtstart) FROM wegenbelasting WHERE gewichtstart < 1370 AND brandstof = 'diesel' ) |
Eigenlijk wil je dit doen:quote:Op zaterdag 1 november 2014 21:38 schreef xaban06 het volgende:
[..]
Zit nu mobiel, kan niet testen, maar ik wil de resultaat van ieder provincie. Dus niet alleen de duurste provincie.
quote:Op zaterdag 1 november 2014 21:46 schreef Rockfire het volgende:
[..]
Die van slacker_nl is denk ik beter:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | class voorbeeld { public function test() { try { echo "lala"; } // Echoët evt. foutmelding: catch(Exception $e) { echo "Functie test kon niet uitgevoerd worden: ". $e->getMessage(). "\n"; } } // Einde van scope test } |
throw gooit een exception naar de eerstvolgende errorhandler (een catch statement of een globale errorhandler). Zolang een exception niet gegooid wordt, zal er niks gevangen worden. Veel php function hebben de 'throw' ingebouwd. Mocht echo 'blah' een exception tegenkomen,creert deze een Exception() en throwt deze naar je catch statement. Jij hoeft dit niet expliciet te doen, tenzij je zelf de exception maakt:quote:Op zondag 9 november 2014 22:36 schreef Robuustheid het volgende:
Een vraag:
[ code verwijderd ]
Bij de exception ontbreekt de throw. Dan vraag ik mij af of de exception ook de string kan weergeven?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?php class voorbeeld { public function test() { try { $exc = new Exception("lala wordt gewoon uitgevoerd, want deze exception wordt niet gegooid");//doet niks dus! echo "lala"; //wacht effe, hier gaat iets fout throw new Exception("klopt niet"); } // Echoët evt. foutmelding: catch(Exception $e) { echo "Functie test kon niet uitgevoerd worden: ". $e->getMessage(). "\n"; } } // Einde van scope test } ?> |
1 2 3 4 5 | function AutoloadVoorbeeld($voorbeeld) { $callback = __DIR__.'/includes/php/'. $voorbeeld.'.php'; require_once($voorbeeld); } spl_autoload_register('AutoloadVoorbeeld'); |
1 2 3 4 | function AutoloadVariable($variable) { $variable = new $variable; } spl_autoload_register('AutoloadVariable'); |
Niet echt. Als je probeert te schrijven naar een variabele die niet bestaat, wordt de variabele aangemaakt. Als je een niet-bestaande variabele wilt lezen, wordt een E_NOTICE melding getriggerd (maar dat is afhankelijk van je error_reporting() instellingen). Als zo'n melding komt, kun je dat nog wel als nette melding naar de gebruiker tonen maar heb je geen kans meer om gewoon verder te gaan.quote:Op maandag 10 november 2014 12:55 schreef Robuustheid het volgende:
Ah, dat verklaart! Dank.
Zijn er evt. nog alternatieven, om een variable volgens bepaalde methode te declareren indien deze nog niet gedeclareerd is?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | CREATE TABLE `test` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `Val1` varchar(255) NOT NULL, `Val2` varchar(255) NOT NULL, `Updated` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`Val1`), KEY `ID` (`ID`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; -- -- Gegevens worden uitgevoerd voor tabel `test` -- INSERT INTO `test` (`ID`, `Val1`, `Val2`, `Updated`) VALUES (1, 'a', '29191', '2014-11-12 19:39:31'); |
1 2 3 | $sql = "INSERT INTO test (Val1, Val2) VALUES ('a','a') ON DUPLICATE KEY UPDATE Val2 = '".rand()."'"; $query = mysqli_query($con, $sql); echo mysqli_affected_rows($con); |
1 2 3 | $sql = "UPDATE test SET Val2 = '".rand()."' WHERE ID=1"; $query = mysqli_query($con, $sql); echo mysqli_affected_rows($con); |
Ah, de comments had ik niet bekeken. Thanks!quote:Op woensdag 12 november 2014 19:51 schreef mstx het volgende:
On duplicate key update geeft 2 terug als een waarde is geupdate, zie manual.
http://php.net/manual/en/mysqli.affected-rows.php
1e comment
1 2 3 4 | <?php $sql = "UPDATE test SET val1='a', val2='b', val3='c', val4='c' (etc) WHERE ID=0"; mysqli_query($con, $sql); ?> |
Tip: Maak de id-kolom unsigned. Dan kun je er 2 keer zoveel records in kwijt (een auto-increment levert altijd positieve getallen op). Niet dat ik verwacht dat je in de buurt van de grens van een signed kolom komt, maar tochquote:
Ik denk niet dat ik boven de 2147483647 id's uitkom jaquote:Op woensdag 12 november 2014 23:10 schreef Light het volgende:
[..]
Tip: Maak de id-kolom unsigned. Dan kun je er 2 keer zoveel records in kwijt (een auto-increment levert altijd positieve getallen op). Niet dat ik verwacht dat je in de buurt van de grens van een signed kolom komt, maar toch
Je zou het ID veld misschien ook wel compleet kunnen verwijderen.quote:Op woensdag 12 november 2014 23:23 schreef qu63 het volgende:
[..]
Ik denk niet dat ik boven de 2147483647 id's uitkom ja
Teller staat nu op 10.733 en zal niet veel meer stijgen
In dit voorbeeld wel jaquote:Op donderdag 13 november 2014 13:28 schreef TwenteFC het volgende:
[..]
Je zou het ID veld misschien ook wel compleet kunnen verwijderen.
quote:Op woensdag 12 november 2014 22:57 schreef qu63 het volgende:
Hoe kan ik beste achterhalen welke van de onderstaande kolommen een nieuwe waarde hebben gekregen door deze query?
[ code verwijderd ]
De wijzigingen kunnen alle kolommen beslaan, of juist geen. En alles er tussenin.
quote:Op woensdag 12 november 2014 22:57 schreef qu63 het volgende:
Hoe kan ik beste achterhalen welke van de onderstaande kolommen een nieuwe waarde hebben gekregen door deze query?
[ code verwijderd ]
De wijzigingen kunnen alle kolommen beslaan, of juist geen. En alles er tussenin.
1 | SELECT `val1` != 'a' AS val1_changed, `val2` != 'b' AS val2_changed |
En deze uitvoeren voor de UPDATE neem ik aan?quote:
Dan ga ik daar even mee puzzelenquote:
quote:
1 2 3 4 5 | <?php $sql = "SELECT `Val1` != 'a' AS Val1_changed, `Val2` != 'a' AS Val2_changed, `Val3` != 'b' AS Val3_changed, `Val4` != 'a' AS Val4_changed, `Val5` != 'a' AS Val5_changed, `Val6` != '' AS Val6_changed FROM `test` WHERE `ID`='1'" $result = mysqli_query($con, $sql); $test = mysqli_fetch_all($result); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 | Array ( [0] => Array ( [0] => 0 [1] => 0 [2] => 1 [3] => 0 [4] => 0 [5] => 1 ) ) |
Heel beperkt icm Logstash en Kibana.quote:Op vrijdag 14 november 2014 18:27 schreef TwenteFC het volgende:
Heeft iemand hier toevallig ervaring met Elasticsearch?
Dan kan jij misschien mijn vraag beantwoorden;quote:Op vrijdag 14 november 2014 18:33 schreef Monolith het volgende:
[..]
Heel beperkt icm Logstash en Kibana.
Dit is inderdaad exact wat ik wil, thx.quote:Op vrijdag 14 november 2014 18:44 schreef Monolith het volgende:
Je zou ook kunnen kijken naar faceted search in SOLR. Volgens mij is dat zo ongeveer wat je wilt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <?xml version="1.0" encoding="UTF-8"?> <mobile_orderdetail_ack xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <messagebody> <subscription> <products> <bundleproduct> <bundleproductid>114</bundleproductid> <bundleproductname>Managed Mobile Blue 1GB</bundleproductname> <startdate>2014-07-07</startdate> </bundleproduct> <bundleproduct> <bundleproductid>74</bundleproductid> <bundleproductname>Data Pack 1000 (Blue)</bundleproductname> <startdate>2014-07-07</startdate> </bundleproduct> <bundleproduct> <bundleproductid>46</bundleproductid> <bundleproductname>SMS Pack Unlimited</bundleproductname> <startdate>2014-07-07</startdate> </bundleproduct> </products> </subscription> </messagebody> </mobile_orderdetail_ack> |
1 2 3 4 5 6 7 8 9 10 | <?php $xml = new SimpleXMLElement ( $bericht ); foreach ( $xml->messagebody->subscription->products as $products ) { print_r ( $products ); } ?> |
quote:
1 2 3 4 5 6 7 8 9 10 | <?php foreach ( $xml->messagebody->subscription->products->bundleproduct as $bundleproducts ) { $products[] = get_object_vars ( $bundleproducts ); } print_r ( $products ); ?> |
1 2 3 4 5 | <?php $variables = array( 'Foo' => 'Bar', 'Baz' => 'Test' ); $json = new JsonModel( $variables ); return $json; ?> |
Gebruik de json view helper: http://framework.zend.com(...)ew.helpers.json.htmlquote:Op zondag 16 november 2014 16:13 schreef Pakspul het volgende:
Kan iemand mij uitleggen waarom ik een view bestand nodig heb wanneer ik JSON output genereer via JsonModel in Zend Framework 2? Ik heb een array en die gooi op eruit, de view voegt totaal niets toe
Gelukkig kan ik ook geen voorbeelden vinden hoe het wel moet. Overal zeggen ze: "gebruik dit en je bent klaar".
[ code verwijderd ]
Dit werkt niet! Nouja, het werkt wel. Hij toont de layout niet, maar de view mag ook optieven en hij moet mij Json string tonen.
1 2 3 | <?php $nextdate = strtotime(date("d-m-Y", strtotime("first ".$airday." of ".$date[0]." ".$date[1]))." ".$airtime." ".$timezone); ?> |
Veiligheid?quote:Op vrijdag 28 november 2014 15:55 schreef KomtTijd... het volgende:
Waarom zou je dat uberhaupt willen?
Het is wel mogelijk, maar dan moet je denk een veel te ingewikkelde regex schrijvenquote:Op vrijdag 28 november 2014 15:36 schreef boskameel het volgende:
Wat zouden de makkelijkste manier zijn wanneer je een website hebt met daarin 1000'en querys die nog met mysq_query opgemaakt zijn en je wilt naar pdo overgaan? Is hier een oplossing voor of ontkom je er niet aan alles te herschrijven?
Als je applicatie niet veilig is moet je het lek fixxen, niet rucksichtsloss je database driver vervangen. En functies worden júíst deprecated (ipv verwijderd) zodat bestaande applicaties niet aangepast hoeven worden.quote:
Als je overgaat op PDO moet je je queries ook parameteriseren. Althans, niet per se, maar als je dat niet doet heeft het écht geen enkele zin. En eigenlijk gewoon (zo veel mogelijk) OO gaan werken. Overgaan op PDO is dus veel ingrijpender dan alleen maar een andere database-connectie.quote:[..]
Het is wel mogelijk, maar dan moet je denk een veel te ingewikkelde regex schrijven
Zul je toch handmatig moeten doen.
Maar die oude mysql-functies worden wel degelijk verwijderd toch?quote:Op vrijdag 28 november 2014 18:00 schreef KomtTijd... het volgende:
[..]
Als je applicatie niet veilig is moet je het lek fixxen, niet rucksichtsloss je database driver vervangen. En functies worden júíst deprecated (ipv verwijderd) zodat bestaande applicaties niet aangepast hoeven worden.
Is het niet al weg in 5.6?quote:Op vrijdag 28 november 2014 21:50 schreef robin007bond het volgende:
[..]
Maar die oude mysql-functies worden wel degelijk verwijderd toch?
Dan is het toch niet deprecated meer maar echt weg? Kan me voorstellen dat je dan als bedrijf wilt switchen van mysql* naar PDO.quote:
Als het daar om gaat kun je gewoon alle mysql_* functies vervangen door mysqli_*.quote:Op vrijdag 28 november 2014 21:50 schreef robin007bond het volgende:
[..]
Maar die oude mysql-functies worden wel degelijk verwijderd toch?
Dat kan ook ja, maar ik kan me voorstellen dat mensen het dan gelijk helemaal goed willen doen.quote:Op vrijdag 28 november 2014 22:39 schreef mstx het volgende:
[..]
Als het daar om gaat kun je gewoon alle mysql_* functies vervangen door mysqli_*.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |