abonnement Unibet Coolblue Bitvavo
pi_145831131


Als je vragen hebt over PHP/MySQL, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten wát er niet lukt en wélke foutmelding je precies krijgt :)

Zie ook:
PHP Dataverwerking
Officiële PHP website
PHP Documentatie
MySQL Reference Manual
Yet Another PHP Faq
PHP Cheat Sheet
PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc

Tutorials:
W3Schools PHP
W3Schools SQL

Succes heren met het volgende deeltje!
pi_145831506
quote:
1s.gif Op woensdag 22 oktober 2014 20:58 schreef Aether het volgende:

[..]

Een timestamp is altijd UTC.
Dat bedoel ik :) Een timestamp is een fixed point in time, onafhankelijk van waar je op aarde staat.
pi_145832458
quote:
0s.gif 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
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 |:(
..///
pi_145834248
quote:
0s.gif 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 |:(
Light gaf het al aan: timestamps gaan van UTC uit (tijdzone 0).

Misschien dat het duidelijker is als UTC:
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
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.
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
pi_145835001
quote:
7s.gif 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.
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.
pi_145837269
quote:
0s.gif 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 |:(
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'.
pi_145843283
quote:
0s.gif 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'.
En zowaar geschiedde:

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) 
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_145859345
quote:
0s.gif 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?
Wat wil je eigenlijk bereiken, dit lijkt namelijk op een unittest van DateTime zelf..
In theory there is no difference between theory and practice. In practice there is.
pi_145859966
quote:
0s.gif 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..
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 :P

[ Bericht 0% gewijzigd door wipes66 op 23-10-2014 19:19:51 ]
..///
pi_145868782
quote:
0s.gif 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 :P
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.
pi_145929072
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?
  FOK!mycroftheld zaterdag 25 oktober 2014 @ 18:05:30 #12
128465 verified  bondage
Ingewikkeld
pi_145929463
quote:
0s.gif 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?
Zoiets? http://sourceforge.net/projects/phpocr/
pi_145930102
quote:
Daarmee kan je tekst uit screenshots lezen, ik heb het echt over foto's. Geen screenshots oid.
pi_145930480
quote:
0s.gif 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?
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.
Als de achtergrondkleur van het plaatje altijd hetzelfde is, dan moet je vrij makkelijk kunnen vinden waar de tekst staat en dat vlak uit het plaatje in een nieuw plaatje kunnen stoppen bijvoorbeeld.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_145932219
zijn het uploads? Zo ja zou je eventueel een javascript crop/rotate-tool kunnen gebruiken om de gebruiker zelf de tekst te laten croppen.
pi_146107997
Ik heb wat hulp nodig, ben bezig met een bashscriptje welke mysql aanroept en een variabele moet doorgeven aan een sql script. Dit ging mis dus heb ik alles terug gebracht naar de basics

Commandline:
1mysql -h localhost -uUSERNAME --password="PASSWORD" -e "SET @variable_file=123" < ./testSqlMetParamenter.sql

testSqlMetParamenter.sql:
1
2
use hub_test;
INSERT INTO mut_pcdata_results ( filename, starttime ) VALUES ( @variable_file,  NOW() );

Roep ik het volgende aan dan krijg ik wel een record, natuurlijk zonder de variabele
mysql -h localhost -uUSERNAME --password=PASSWORD < ./testSqlMetParamenter.sql

Iemand een idee wat ik fout doe?


EDIT: fixed
1mysql -h localhost -uUSERNAME --password="PASSWORD" -e "SET @variable_file=123; source ./testSqlMetParamenter.sql"


[ Bericht 7% gewijzigd door Darkomen op 30-10-2014 11:40:48 ]
pi_146138478
:P 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.



Wanneer het af is zal ik de code wel op github gooien.
  vrijdag 31 oktober 2014 @ 08:46:07 #18
187069 slacker_nl
Sicko pur sang
pi_146141315
quote:
19s.gif Op vrijdag 31 oktober 2014 00:56 schreef TwenteFC het volgende:
:P 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.
Ken je dit al? https://www.cs.rochester.edu/~ferguson/poker/ipp.html
In theory there is no difference between theory and practice. In practice there is.
pi_146159647
quote:
Kende deze nog niet nee, ziet er wel handig uit.
Maar ik ben stiekem een beetje eigenwijs en wil het even op mijn eigen manier doen :P
pi_146189061


:P Woohoo het werkt, nu eerst maar eens even de boel refactoren en daarna op github gooien.
pi_146196121
1SELECT `provincie`, `brandstof`, `gewichtStart`, `tarief` FROM `wegenbelasting` WHERE `brandstof` = 'diesel' AND `gewichtstart` < '1370'

Geeft het volgende weer (zonder de sterretjes):
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

Maar ik wil alleen de rijen zien waar een sterretje voor staat.

Mijn auto weegt 1370. Ik vind in welke categorie deze door te kijken wat kleiner is dan 1370, dat is dus 1351. Alles daaronder wil ik niet zien. Hoe moet mijn query zijn?

Ik kan wel GROUP BY `provincie` doen, maar dan krijg ik de verkeerde resultaat terug, namelijk:
1
2
3
Drenthe Diesel 1 93
Noord-Holland Diesel 1 90
Utrecht Diesel 1 91
pi_146196416
Beetje onduidelijke inschrijving maar je wilt volgens mij toch gewoon WHERE gewichtstart = 1351 ipv < 1370 hebben?
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_146196714
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 )
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
  zaterdag 1 november 2014 @ 21:31:34 #24
187069 slacker_nl
Sicko pur sang
pi_146197070
Simplified:
1
2
3
4
5
6
select
   gewicht
from 
  wegenbelasting
where
  gewicht = ( select max(gewicht) from wegenbelasting where gewicht < 1370)

Mogelijk zou je het met een join kunnen doen. Maar dat laat ik aan jou over.
In theory there is no difference between theory and practice. In practice there is.
pi_146197355
quote:
0s.gif 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.
Zit nu mobiel, kan niet testen, maar ik wil de resultaat van ieder provincie. Dus niet alleen de duurste provincie.
pi_146197389
quote:
0s.gif Op zaterdag 1 november 2014 21:22 schreef Rockfire het volgende:

[ code verwijderd ]

Deze zou wel eens kunnen werken. Thanks!
pi_146197646
quote:
1s.gif Op zaterdag 1 november 2014 21:38 schreef xaban06 het volgende:

[..]

Deze zou wel eens kunnen werken. Thanks!
Die van slacker_nl is denk ik beter:
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'
)
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
  zaterdag 1 november 2014 @ 21:46:47 #28
187069 slacker_nl
Sicko pur sang
pi_146197666
quote:
1s.gif 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.
Eigenlijk wil je dit doen:

https://dev.mysql.com/doc(...)olumn-group-row.html

Het ging je toch om het gewicht, de subquery pakt de max van het gewicht en gaat die opzoeken. Als je dat per provincie wilt doen..
In theory there is no difference between theory and practice. In practice there is.
pi_146199194
quote:
0s.gif Op zaterdag 1 november 2014 21:46 schreef Rockfire het volgende:

[..]

Die van slacker_nl is denk ik beter:
[ code verwijderd ]

_O_
pi_146482278
Een vraag:

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



Bij de exception ontbreekt de throw. Dan vraag ik mij af of de exception ook de string kan weergeven?
  zondag 9 november 2014 @ 22:53:22 #31
85514 ralfie
!Yvan eht nioj
pi_146483212
quote:
0s.gif 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?
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:
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

?>
pi_146494202
Bedankt voor je duidelijke antwoord.

Een nieuwe vraag. Sommigen van jullie kennen waarschijnlijk de spl_autoload_register, dat als er een fout ontstaat, een handeling uitgevoerd wordt. Levert dat ook niks op, dan wordt er alsnog een error weergegeven. Voorbeeld:

1
2
3
4
5
         function AutoloadVoorbeeld($voorbeeld) {
             $callback = __DIR__.'/includes/php/'. $voorbeeld.'.php';
            require_once($voorbeeld);
         }
         spl_autoload_register('AutoloadVoorbeeld');

Stel, je instantieert een object met "$voorbeeld = new voorbeeld;"

Maar de PHP kan geen class met voorbeeld vinden, omdat je hem niet geďncluded hebt. Dan probeert-ie eerst require_once(jemap/includes/php/voorbeeld.php), met daarin de class voorbeeld. Levert dat alsnog het gewenste resultaat op, dan wordt er geen error weergegeven.

Zie ook dit: php.net/manual/en/function.spl-autoload-register.php

Ik wil hetzelfde ook doen met objecten instatieren. Dus:
1
2
3
4
         function AutoloadVariable($variable) {
             $variable = new $variable;
         }
         spl_autoload_register('AutoloadVariable');

Dan is het niet meer nodig om eerst het object vooraf te instantieren met $voorbeeld = new voorbeeld. Alleen, dit werkt vreemd genoeg niet. Ik weet niet waar dat aan ligt. Iemand een idee?
pi_146494849
Zo uit m'n hoofd wordt die autoload enkel uitgevoerd bij het ontbreken van een class of interface definition, niet bij het niet bestaan van een variabele.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_146495215
Ah, dat verklaart! Dank.

Zijn er evt. nog alternatieven, om een variable volgens bepaalde methode te declareren indien deze nog niet gedeclareerd is?
pi_146495270
Je kunt de error lvl setten en een custom error_handler definiëren.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_146560675
quote:
0s.gif 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?
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.

Over het algemeen geeft het aan dat je iets niet goed doet als je probeert een niet-bestaande variabele te lezen (bijvoorbeeld een tikfout in de naam). Het is dan ook een goed idee om je error_reporting hierop stuk te laten gaan. En als je weet dat een variabele onder bepaalde omstandigheden wel of niet bestaat, kun je met isset() kijken of de variabele een waarde (anders dan null) heeft.
  woensdag 12 november 2014 @ 19:41:48 #37
62215 qu63
..de tijd drinkt..
pi_146584274
SQLtabel:
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');
Waarom geeft dit
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);
2 als antwoord, en dit
1
2
3
$sql = "UPDATE test SET Val2 = '".rand()."' WHERE ID=1";
$query = mysqli_query($con, $sql);
echo mysqli_affected_rows($con);
1?

[ Bericht 37% gewijzigd door qu63 op 12-11-2014 19:47:03 ]
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  woensdag 12 november 2014 @ 19:51:01 #38
91039 mstx
2x1/2 = 1/2 x 1/2
pi_146584638
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
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  woensdag 12 november 2014 @ 20:03:15 #39
62215 qu63
..de tijd drinkt..
pi_146585101
quote:
1s.gif 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
Ah, de comments had ik niet bekeken. Thanks!
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  woensdag 12 november 2014 @ 22:57:29 #40
62215 qu63
..de tijd drinkt..
pi_146594510
Hoe kan ik beste achterhalen welke van de onderstaande kolommen een nieuwe waarde hebben gekregen door deze query?
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);
?>
De wijzigingen kunnen alle kolommen beslaan, of juist geen. En alles er tussenin.
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_146595135
quote:
0s.gif Op woensdag 12 november 2014 19:41 schreef qu63 het volgende:
SQLtabel:
[ code verwijderd ]

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 :)
  woensdag 12 november 2014 @ 23:23:02 #42
62215 qu63
..de tijd drinkt..
pi_146595794
quote:
0s.gif 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 :)
Ik denk niet dat ik boven de 2147483647 id's uitkom ja ;)
Teller staat nu op 10.733 en zal niet veel meer stijgen :X
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_146608807
quote:
0s.gif 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 :X
Je zou het ID veld misschien ook wel compleet kunnen verwijderen.
  donderdag 13 november 2014 @ 13:30:49 #44
62215 qu63
..de tijd drinkt..
pi_146608876
quote:
19s.gif Op donderdag 13 november 2014 13:28 schreef TwenteFC het volgende:

[..]

Je zou het ID veld misschien ook wel compleet kunnen verwijderen.
In dit voorbeeld wel ja ;)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_146609188
quote:
0s.gif 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:
0s.gif 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.
1SELECT `val1` != 'a' AS val1_changed, `val2`  != 'b' AS val2_changed
  donderdag 13 november 2014 @ 13:45:05 #46
62215 qu63
..de tijd drinkt..
pi_146609295
quote:
14s.gif Op donderdag 13 november 2014 13:41 schreef KomtTijd... het volgende:

[..]

[..]
[ code verwijderd ]

En deze uitvoeren voor de UPDATE neem ik aan?
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_146609500
Jup.
  donderdag 13 november 2014 @ 13:54:00 #48
62215 qu63
..de tijd drinkt..
pi_146609547
quote:
14s.gif Op donderdag 13 november 2014 13:51 schreef KomtTijd... het volgende:
Jup.
Dan ga ik daar even mee puzzelen :)

Thanks!
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  donderdag 13 november 2014 @ 14:47:02 #49
62215 qu63
..de tijd drinkt..
pi_146611612
quote:
14s.gif Op donderdag 13 november 2014 13:51 schreef KomtTijd... het volgende:
Jup.
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);
?>
Alleen Val3 en Val6 zijn gewijzigd. Een print_r($test) geeft:
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
        )

)
Hoe krijg ik nu die kolomnamen (Val1_changed, etc) er weer bij?
Als ik de query in PHPMyadmin draai dan zie ik ze wel :{.
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_146611684
een associative fetch doen.
  donderdag 13 november 2014 @ 14:50:35 #51
62215 qu63
..de tijd drinkt..
pi_146611778
quote:
14s.gif Op donderdag 13 november 2014 14:48 schreef KomtTijd... het volgende:
een associative fetch doen.
Duh.. 8)7

Dank u!
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_146654663
Heeft iemand hier toevallig ervaring met Elasticsearch?
pi_146654833
quote:
19s.gif Op vrijdag 14 november 2014 18:27 schreef TwenteFC het volgende:
Heeft iemand hier toevallig ervaring met Elasticsearch?
Heel beperkt icm Logstash en Kibana.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_146654986
quote:
1s.gif Op vrijdag 14 november 2014 18:33 schreef Monolith het volgende:

[..]

Heel beperkt icm Logstash en Kibana.
Dan kan jij misschien mijn vraag beantwoorden;

Is het bruikbaar voor het doorzoeken van documenten met een X aantal verschillende die een verschillend type kunnen hebben. subdocumenten?

En dan gaat het me vooral om het heel flexibel toepassen van dit document moet als child X hebben, en ook Y en Z.

Voorbeeld;

Notebook
- Type: Electronica
- Kleuren: Geel,Rood,Zwart,Groen
- Kenmerken: USB3, Intel, AMD

Wanneer ik dus filter op Rode AMD Electronica moet deze te voorschijn komen.
Maar wanneer het Type dat niet is, dan wil ik hem ook niet zien.

Maar het kan ook een optie zijn om dit product toch te tonen wanneer bijv. alleen de gezochte kleur niet beschikbaar is of als er gezocht wordt op USB2
pi_146655090
:P Denk dat ik het al gevonden heb, ze verstoppen alles wel in de documentatie.

http://www.elasticsearch.(...)-filtered-query.html
pi_146655128
Je zou ook kunnen kijken naar faceted search in SOLR. Volgens mij is dat zo ongeveer wat je wilt.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_146655278
quote:
0s.gif 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.
Dit is inderdaad exact wat ik wil, thx.
Maar eens even mee gaan spelen. :)
  zaterdag 15 november 2014 @ 14:32:57 #58
37634 wobbel
Da WoBBeL King
pi_146680173
Hoe loop ik door een XML als deze heen? Ik wil alle productnames eruit halen en hun ID en deze in een array stoppen maar ik ben er nog niet helemaal achter hoe ik dat precies moet doen.

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>

Met onderstaande code kan ik dmv print_r wel alle info laten zien, maar ik heb werkelijk geen idee hoe ik voor alles de specifieke data in een array stop. Het gaat dan met name hoe ik door de <bundleproducts> heen loop. Moet er dan een tweede foreach in mijn huidige foreach?

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 );
    
}
?>
pi_146680313
Array push?
In theory there is no difference between theory and practice. In practice there is.
  zaterdag 15 november 2014 @ 14:39:43 #60
37634 wobbel
Da WoBBeL King
pi_146680358
quote:
0s.gif Op zaterdag 15 november 2014 14:37 schreef slacker_nl het volgende:
Array push?
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 );
?>

Op deze manier kan ik $products aanroepen als een array :) Dit zal vast slordig zijn, maar dit kon ik vinden op Google :P
pi_146711745
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".

1
2
3
4
5
<?php
$variables 
= array( 'Foo' => 'Bar''Baz' => 'Test' );
$json = new JsonModel$variables );
return 
$json;
?>

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.
pi_146712318
quote:
0s.gif 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.
Gebruik de json view helper: http://framework.zend.com(...)ew.helpers.json.html
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
  zondag 16 november 2014 @ 17:27:15 #63
62215 qu63
..de tijd drinkt..
pi_146713985
Kan dit niet eenvoudiger/beter?
1
2
3
<?php
$nextdate 
strtotime(date("d-m-Y"strtotime("first ".$airday." of ".$date[0]." ".$date[1]))." ".$airtime." ".$timezone);
?>
$airday bevat Monday-Sunday
$date[0] bevat Jan-Dec
$date[1] bevat een jaartal in 4 cijfers (2014)
$airtime bevat een tijd (09:00 pm)
$timezone bevat de tijdzone (America/New_York)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_146902703
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
  zaterdag 22 november 2014 @ 18:51:49 #65
363995 Reemi
Zeg maar Remi.
pi_146904960
nvm.
Smile like you mean it
www.wefut.com
pi_147036799
:P Iemand al gespeeld met de develop versie van Laravel 5?

https://github.com/laravel/laravel/commits/develop

:) Taylor is er maar weer druk mee, ziet er goed uit zover.
pi_147089211
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?
pi_147089775
Waarom zou je dat uberhaupt willen?
pi_147093140
quote:
5s.gif Op vrijdag 28 november 2014 15:55 schreef KomtTijd... het volgende:
Waarom zou je dat uberhaupt willen?
Veiligheid?
Depreciation?

quote:
99s.gif 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?
Het is wel mogelijk, maar dan moet je denk een veel te ingewikkelde regex schrijven :P
Zul je toch handmatig moeten doen.
pi_147093554
quote:
0s.gif Op vrijdag 28 november 2014 17:47 schreef totalvamp het volgende:

[..]

Veiligheid?
Depreciation?
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:
[..]

Het is wel mogelijk, maar dan moet je denk een veel te ingewikkelde regex schrijven :P
Zul je toch handmatig moeten doen.
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.
pi_147101787
quote:
14s.gif 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.
Maar die oude mysql-functies worden wel degelijk verwijderd toch?
  vrijdag 28 november 2014 @ 22:37:22 #72
12221 Tijn
Powered by MS Paint
pi_147103675
quote:
0s.gif Op vrijdag 28 november 2014 21:50 schreef robin007bond het volgende:

[..]

Maar die oude mysql-functies worden wel degelijk verwijderd toch?
Is het niet al weg in 5.6?
pi_147103704
quote:
2s.gif Op vrijdag 28 november 2014 22:37 schreef Tijn het volgende:

[..]

Is het niet al weg in 5.6?
Dan is het toch niet deprecated meer maar echt weg? Kan me voorstellen dat je dan als bedrijf wilt switchen van mysql* naar PDO.
  vrijdag 28 november 2014 @ 22:39:07 #74
91039 mstx
2x1/2 = 1/2 x 1/2
pi_147103755
quote:
0s.gif Op vrijdag 28 november 2014 21:50 schreef robin007bond het volgende:

[..]

Maar die oude mysql-functies worden wel degelijk verwijderd toch?
Als het daar om gaat kun je gewoon alle mysql_* functies vervangen door mysqli_*.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_147103777
quote:
0s.gif 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_*.
Dat kan ook ja, maar ik kan me voorstellen dat mensen het dan gelijk helemaal goed willen doen. :P
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')