abonnement Unibet Coolblue Bitvavo
pi_149751083


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!

1
2
3
4
5
6
explain SELECT SQL_NO_CACHE `video_id`
FROM `video_tag_link` 
WHERE `tag_id` = 2721 OR `tag_id` = 245
GROUP BY `video_id`
HAVING COUNT(`video_id`) = 2
LIMIT 0, 20
en daar heb ik ook last van een filesort... wil dat eigenlijk voorkomen ;) en dat zou moeten kunnen...

:{
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_149752705
Ik weet niet wat je allemaal precies gedaan hebt, maar als ik even snel de volgende tabel aanmaak:

1
2
3
4
5
6
CREATE TABLE `video_tag_link` (
  `video_id` int(11) NOT NULL,
  `tag_id` int(11) NOT NULL,
  PRIMARY KEY (`tag_id`,`video_id`),
  KEY `video_id_index` (`video_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

en er vervolgens wat data ingooi en de query uit de OP uitvoer, dan krijg ik gewoon 'using where, using index'.

Kleine toevoeging:
Ik heb het vermoeden dat de oorzaak ligt in het feit dat je MyISAM als storage engine gebruikt in plaats van INNODB. Het is voor mij te lange geleden om exact te weten waardoor het verschil wordt veroorzaakt, maar volgens mij heeft het iets te maken met de manier waarop primary keys zijn geïmplementeerd. Hier een kleine uitleg.

[ Bericht 24% gewijzigd door Monolith op 17-02-2015 13:13:46 ]
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_149757764
Ik heb
1
2
3
4
5
6
CREATE TABLE `video_tag_link` (
  `video_id` int(10) unsigned NOT NULL,
  `tag_id` int(10) unsigned NOT NULL,
  PRIMARY KEY (`tag_id`,`video_id`),
  KEY `video_id` (`video_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;[
27,400,090 rows, MyISAM, latin1_swedish_ci, 952,3 MiB

En krijg dan met dezelfde query als hierboven Using where; Using index; Using temporary; Using filesort

-edit-
Inderdaad MyIsam, heb gepoogd InnoDB te gebruiken maar heb daar vele problemen mee om de data in te voeren op juiste manier zonder fouten...

-edit2-
En het tabel omzetten naar InnoDB wil MySQL niet ;) Krijg een -1 van de storage engine...
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_149758873
quote:
0s.gif Op dinsdag 17 februari 2015 13:13 schreef Chandler het volgende:
Ik heb
[ code verwijderd ]

27,400,090 rows, MyISAM, latin1_swedish_ci, 952,3 MiB

En krijg dan met dezelfde query als hierboven Using where; Using index; Using temporary; Using filesort

-edit-
Inderdaad MyIsam, heb gepoogd InnoDB te gebruiken maar heb daar vele problemen mee om de data in te voeren op juiste manier zonder fouten...

-edit2-
En het tabel omzetten naar InnoDB wil MySQL niet ;) Krijg een -1 van de storage engine...
Mja, met 'krijg een -1 van de storage engine' kan ik niet zo veel.

Wat gebeurt er als je een nieuwe tabel maakt met INNODB als engine en de data daarin gooit?
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_149760827
quote:
0s.gif Op dinsdag 17 februari 2015 13:13 schreef Chandler het volgende:
Ik heb
En het tabel omzetten naar InnoDB wil MySQL niet ;) Krijg een -1 van de storage engine...
quote:
If you see the following message, then you must enable innodb_file_per_table and create the table again: ERROR 1030 (HY000): Got error -1 from storage engine
http://www.percona.com/do(...)mporting_tables.html
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
pi_149761096
Volgens mij heb ik nog nooit anders dan InnoDB gebruikt? Ik dacht dat MyIsam een beetje ouderwets was?
pi_149761471
quote:
14s.gif Op dinsdag 17 februari 2015 14:58 schreef KomtTijd... het volgende:
Volgens mij heb ik nog nooit anders dan InnoDB gebruikt? Ik dacht dat MyIsam een beetje ouderwets was?
Voor archieven wordt het nog wel gebruikt. Kost stuk minder ruimte qua opslag.
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
pi_149766422
Ik heb even een tmp tabel met innodb aangemaakt, maar wanneer ik de eerste insert doe... krijg ik gelijk het volgende voor m'n kiezen.

INSERT INTO `video_tag_link` VALUES ( 1, 1 ) ;

MySQL meldt: Documentatie
#1062 - Duplicate entry '1-1' for key 'PRIMARY'

Precies dezelfde DB maar dan InnoDB plus complete inserts (want SELECT * INTO tabel FROM tabel) werkte ook niet...
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_149766770
lijkt me een vrij duidelijke foutmelding waar je wat mee kunt.
pi_149766843
Helaas niet, want alle data in de myisam tabel is uniek en zou dus geen probleem moeten opleveren... heb al een uurtje zitten googlen maar kan geen 'oplossing' hiervoor vinden...
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  dinsdag 17 februari 2015 @ 18:54:53 #11
187069 slacker_nl
Sicko pur sang
pi_149768697
quote:
0s.gif Op dinsdag 17 februari 2015 18:01 schreef Chandler het volgende:
Helaas niet, want alle data in de myisam tabel is uniek en zou dus geen probleem moeten opleveren... heb al een uurtje zitten googlen maar kan geen 'oplossing' hiervoor vinden...
Wat zegt select * from video_tag_link je? en hoe ziet die tabel eruit?
In theory there is no difference between theory and practice. In practice there is.
pi_149768989
Dit zijn inderdaad een beetje die 'het werkt niet, help me' post waar we erg weinig mee kunnen. Als je dit soort dingen post, geef dan de tabeldefinitie, data, query, enzovoort.
Probeer het ook eens op stackoverflow anders, daar zit ook nog wel de nodige kennis.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_149771649
Bij deze een volledige uitleg.

Ik heb een link tabel voor het linken van tags aan video's, deze tabel is groot, erg groot en bevat maar 2 velden (video_id en tag_id). Uit dit tabel kan ik een of meerdere tags zoeken waarbij deze tags allemaal gevonden moeten worden bij ieder video_id.

Tabel:
1
2
3
4
5
6
CREATE TABLE IF NOT EXISTS `video_tag_link` (
  `video_id` int(10) unsigned NOT NULL,
  `tag_id` int(10) unsigned NOT NULL,
  PRIMARY KEY (`tag_id`,`video_id`),
  KEY `video_id` (`video_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
En wat data
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
INSERT INTO `video_tag_link` (`video_id`, `tag_id`) VALUES
(1, 1),
(2, 1),
(3, 1),
(4, 1),
(5, 1),
(6, 1),
(7, 1),
(8, 1),
(9, 1),
(10, 1),
(11, 1),
(13, 1),
(15, 1),
(17, 1),
(18, 1),
(19, 1),
(20, 1),
(21, 1),
(22, 1),
(23, 1),
(25, 1),
(26, 1),
(27, 1),
(29, 1),
(30, 1),
(31, 1),
(32, 1),
(33, 1),
(35, 1),
(36, 1);

Probleem is filesort op de volgende query:
1
2
3
4
5
6
SELECT SQL_NO_CACHE `video_id`
FROM `video_tag_link` 
WHERE `tag_id` = 2721 OR `tag_id` = 245
GROUP BY `video_id`
HAVING COUNT(`video_id`) = 2
LIMIT 0, 20

1
2
3
4
5
6
7
8
9
10
1
SIMPLE
video_tag_link
range
PRIMARY,video_id
PRIMARY
4
NULL
6480
Using where; Using index; Using temporary; Using filesor

Omzetten op wat voor manier naar InnoDB wil niet... en queries optimaliseren ook niet :)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_149771719
Dat omzetten naar InnoDB niet werkt ligt toch echt aan jou of je MySQL setup. Ik krijg dat zonder moeite voor elkaar.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_149781839
Zeer vreemd Monolith, ik gebruik zelf de standaard versie van usbwebserver en zou dus gewoon moeten werken lijkt me... krijg ook verder geen andere foutmeldingen oid...
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_149783300
Lag inderdaad aan mijn webserver, heb alles opnieuw geconfigureerd en hoopa!! het werkt!! nu eens al mijn tabellen omzetten naar InnoDB!!
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_149786125
quote:
0s.gif Op maandag 16 februari 2015 23:14 schreef raptorix het volgende:

[..]

Volgens mij heeft een index geen zin op een integer, maar daar twijfel ik even over, of dat puur op numeriek is of een autoID (bestaat dat in MySql?)
Deze post uit het vorige topic verdient ook nog wel even een reactie aangezien het concept 'index' in deze reeks vaak niet echt begrepen lijkt en men enkel weet dat 'queries er sneller van worden', zonder het wat en waarom van een index te snappen. Deze site heeft wel prima verdere uitleg.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_149788132
Stel, ik heb een Maria DB-database (voetbalgerelateerd) met daarin 3 tabellen:

- Divisie
- Seizoen
- DivisieSeizoen

Divisie en Seizoen:



DivisieSeizoen is de koppeltabel tussen Divisie en Seizoen, met wat extra gegevens.

Links voorbeeld van de koppeling, rechts hoe het wordt opgeslagen in de tabel.


Ik wil de gegevens via een HTML/PHP-formulier invoeren:

Divisie kiezen uit dropdownlist (waarden uit tabel Divisie).
Seizoen kiezen uit dropdownlist (waarden uit tabel Seizoen).
Datums handmatig invoeren.

Het resultaat hiervan wil ik opslaan in DivisieSeizoen. Ik wil dus een Divisienaam selecteren, maar de PK van de geselecteerde Divisie opslaan. Hetzelfde bij Seizoen.

Hoe krijg ik dit voor elkaar? Ik bedoel, ik heb op het internet gezocht, maar kan niets vinden waar ik zelf wat mee kan... Iemand van jullie een idee, wellicht een link naar een tutorial of wat dan ook?

Of denk ik verkeerd of hoort dit op een hele andere manier?!

[ Bericht 1% gewijzigd door #ANONIEM op 18-02-2015 11:26:19 ]
  woensdag 18 februari 2015 @ 11:30:32 #19
63192 ursel
"Het Is Hier Fantastisch!
pi_149788322
1
2
3
4
<select name="divisie" form="divisieform">
  <option value="1">Super lig</option>
  <option value="2">2. Lig</option>
</select>

Toon je de naam, maar de waarde die je formulier verstuurd is het ID.
pi_149788700
Nogal een brede vraag, basically vraag je "hoe maak ik een PHP webapplicatie met database?"

Watvoor framework gebruik je (if any)? En wat wil er precies niet lukken? Waar loop je op vast?
pi_149800925
quote:
0s.gif Op woensdag 18 februari 2015 09:46 schreef Monolith het volgende:

[..]

Deze post uit het vorige topic verdient ook nog wel even een reactie aangezien het concept 'index' in deze reeks vaak niet echt begrepen lijkt en men enkel weet dat 'queries er sneller van worden', zonder het wat en waarom van een index te snappen. Deze site heeft wel prima verdere uitleg.
Thx, ik kende deze theorie wel, ik weet niet hoet met mysql zit, maar in sqlserver kun je bij een index ook een fragmentation rate aangeven. Gebruik je niet heel vaak, maar met name wanneer performance belangrijk is valt er wel mee te tunen.

Zelf heb ik in verleden veel aan Funda gewerkt, met name aan de eerste versies heb ik veel aan de search gewerkt dus wel bekend met tuning ;)

De eerste versie van Funda was ook een readonly database, dat scheelt je al snel 30 procent performance omdat zodra een database in readonly is, hij geen rekening hoeft te houden met locking of aangepaste indices.
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
pi_149801283
Wij liepen trouwens ook een keer tegen een grappig index probleem aan, na een release was de performance dramatisch geworden, dit bleek achteraf omdat er een stukje SQL was aangepast waar een query werd gedaan via een UPPER cast zodat zoeken op plaats niet meer hoofdlettergevoelig was. Echter wanneer je een sqlserver database hebt die casesensitive is, je cast alles naar Hoofdletters in je query, dan zegt sql server: Mooi, dan is mijn index ook zinloos, laat ik die maar niet gebruiken :)
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
pi_149801826
quote:
0s.gif Op woensdag 18 februari 2015 18:39 schreef raptorix het volgende:

[..]

Thx, ik kende deze theorie wel, ik weet niet hoet met mysql zit, maar in sqlserver kun je bij een index ook een fragmentation rate aangeven. Gebruik je niet heel vaak, maar met name wanneer performance belangrijk is valt er wel mee te tunen.

Zelf heb ik in verleden veel aan Funda gewerkt, met name aan de eerste versies heb ik veel aan de search gewerkt dus wel bekend met tuning ;)

De eerste versie van Funda was ook een readonly database, dat scheelt je al snel 30 procent performance omdat zodra een database in readonly is, hij geen rekening hoeft te houden met locking of aangepaste indices.
Voor read only kun je tegenwoordig dan weer beter noSQL databases gebruiken doorgaans qua performance.
Fragmentatie is de mate waarin je index verspreid is over je opslag. Hoe meer fragmentatie, des te trager het gebruik van de index.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_149804047
quote:
1s.gif Op woensdag 18 februari 2015 19:09 schreef Monolith het volgende:

[..]

Voor read only kun je tegenwoordig dan weer beter noSQL databases gebruiken doorgaans qua performance.
Fragmentatie is de mate waarin je index verspreid is over je opslag. Hoe meer fragmentatie, des te trager het gebruik van de index.
Fragmentatie is volgens mij in deze betekenis de mogelijkheden om je index te updaten, zoals ik het altijd begrepen hebt werkt het net als in papieren index dat je meer ruimte hebt om wijzigingen te doen (wat uiteraard wel ten koste gaat van meer opslag, en dus performance).
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
pi_149804805
quote:
0s.gif Op woensdag 18 februari 2015 20:03 schreef raptorix het volgende:

[..]

Fragmentatie is volgens mij in deze betekenis de mogelijkheden om je index te updaten, zoals ik het altijd begrepen hebt werkt het net als in papieren index dat je meer ruimte hebt om wijzigingen te doen (wat uiteraard wel ten koste gaat van meer opslag, en dus performance).
Nee, dat is een ander concept, fragmentatie heeft te maken met logische versus fysieke ordening, waardoor het lezen van de schijf trager gaat.
Zie bv:
https://msdn.microsoft.com/en-us/library/ms189858.aspx
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_149805455
quote:
1s.gif Op woensdag 18 februari 2015 20:19 schreef Monolith het volgende:

[..]

Nee, dat is een ander concept, fragmentatie heeft te maken met logische versus fysieke ordening, waardoor het lezen van de schijf trager gaat.
Zie bv:
https://msdn.microsoft.com/en-us/library/ms189858.aspx
Klopt, ik doelde dus nie op fragmentatie maar op fillfactor ;)
Ik doe tegenwoordig nog maar weinig met Relationele databases :+

https://msdn.microsoft.com/en-us/library/ms177459.aspx
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
  woensdag 18 februari 2015 @ 21:14:21 #27
91039 mstx
2x1/2 = 1/2 x 1/2
pi_149807585
Ben sinds kort iets aan het maken met Symfony2/Doctrine. Dus ik heb in mijn database een TINYINT veld, zegt dat systeem dat het een boolean is. Welke idioot heeft dat bedacht? |:(
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_149807761
Als het een Tinyint(1) is, dan klopt dat ook gewoon. :P
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_149807805
Je hebt een bestaande database ingeladen of zo?

Een boolean wordt idd altijd als tinyint(1) opgeslagen.
  woensdag 18 februari 2015 @ 21:19:38 #30
91039 mstx
2x1/2 = 1/2 x 1/2
pi_149807834
quote:
0s.gif Op woensdag 18 februari 2015 21:18 schreef Monolith het volgende:
Als het een Tinyint(1) is, dan klopt dat ook gewoon. :P
Tinyint(1) = 0 t/m 9
Boolean = true/false

Hoe is dat het zelfde?
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_149807930
quote:
10s.gif Op woensdag 18 februari 2015 21:19 schreef mstx het volgende:

[..]

Tinyint(1) = 0 t/m 9
Boolean = true/false

Hoe is dat het zelfde?
Volgens mij moet je even opzoeken wat die 1 betekent.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_149807980
quote:
1s.gif Op woensdag 18 februari 2015 21:21 schreef Monolith het volgende:

[..]

Volgens mij moet je even opzoeken wat die 1 betekent.
die 1 betekend 1 teken lezen toch? :P
..///
pi_149807998
quote:
10s.gif Op woensdag 18 februari 2015 21:19 schreef mstx het volgende:
Tinyint(1) = 0 t/m 9
Nee, tinyint(1) is een integer van 1 bit, dus een boolean.
dat heb ik fout. Maar een boolean wordt wel altijd als tinyint(1) opgeslagen. Dus zo gek is het niet dat Doctrine die aanname doet.

[ Bericht 14% gewijzigd door KomtTijd... op 18-02-2015 21:28:35 ]
pi_149808184
quote:
0s.gif Op woensdag 18 februari 2015 21:22 schreef wipes66 het volgende:

[..]

die 1 betekend 1 teken lezen toch? :P
http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html

Kleine correctie inderdaad, het is de display width, maar tinyint(1) wordt in mysql gezien als synoniem van boolean.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_149808325
quote:
14s.gif Op woensdag 18 februari 2015 21:22 schreef KomtTijd... het volgende:

[..]

Nee, tinyint(1) is een integer van 1 bit, dus een boolean.
mysql heeft geen echte boolean, dus 'boolean' is gewoon een allias voor tinyint(1) wat 8-bit is.
..///
  woensdag 18 februari 2015 @ 21:31:52 #36
91039 mstx
2x1/2 = 1/2 x 1/2
pi_149808498
quote:
14s.gif Op woensdag 18 februari 2015 21:22 schreef KomtTijd... het volgende:

[..]

Nee, tinyint(1) is een integer van 1 bit, dus een boolean.
dat heb ik fout. Maar een boolean wordt wel altijd als tinyint(1) opgeslagen. Dus zo gek is het niet dat Doctrine die aanname doet.
Als ik het verander naar tinyint(3) zegt hij nog steeds dat het een boolean is.
Ik wil gewoon het aantal versnellingen van een auto opslaan, een tinyint leek me daar het juiste type voor. :?
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_149808699
quote:
0s.gif Op woensdag 18 februari 2015 21:31 schreef mstx het volgende:

[..]

Als ik het verander naar tinyint(3) zegt hij nog steeds dat het een boolean is.
Ik wil gewoon het aantal versnellingen van een auto opslaan, een tinyint leek me daar het juiste type voor. :?
Op zich wel, maar omdat doctrine types mapt tussen PHP en MySQL stelt het tinyint gelijk aan boolean kennelijk. Zie ook:
http://stackoverflow.com/(...)ype-in-entity-column
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_149808730
quote:
0s.gif Op woensdag 18 februari 2015 21:31 schreef mstx het volgende:

[..]

Als ik het verander naar tinyint(3) zegt hij nog steeds dat het een boolean is.
Ik wil gewoon het aantal versnellingen van een auto opslaan, een tinyint leek me daar het juiste type voor. :?
Waarom maak je je uberhaupt druk om het database format? Laat dat lekker aan doctrine over. Die zal er waarschijnlijk een int van maken. Mocht je dat nog willen micro-optimaliseren naar een tinyint kun je dat doen na uitrol van je applicatie.
  woensdag 18 februari 2015 @ 21:45:52 #39
91039 mstx
2x1/2 = 1/2 x 1/2
pi_149809072
quote:
14s.gif Op woensdag 18 februari 2015 21:37 schreef KomtTijd... het volgende:

[..]

Waarom maak je je uberhaupt druk om het database format? Laat dat lekker aan doctrine over. Die zal er waarschijnlijk een int van maken. Mocht je dat nog willen micro-optimaliseren naar een tinyint kun je dat doen na uitrol van je applicatie.
Omdat ik die database al had en ik altijd de juiste datatypes probeer te gebruiken. :P En dan is het gewoon een beetje vreemd dat een auto ineens "true" versnellingen heeft terwijl er "6" in de database staat. :6
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.
👾
  † In Memoriam † woensdag 18 februari 2015 @ 22:49:11 #40
159335 Boze_Appel
Vrij Fruit
pi_149811836
quote:
1s.gif Op woensdag 18 februari 2015 21:36 schreef Monolith het volgende:

[..]

Op zich wel, maar omdat doctrine types mapt tussen PHP en MySQL stelt het tinyint gelijk aan boolean kennelijk. Zie ook:
http://stackoverflow.com/(...)ype-in-entity-column
Dat krijg je met dat soort systemen. PostgreSQL heeft geen tinyint en sqllite weer wel dus mappen ze inderdaad een tinyint naar een boolean.

mstx: Ik zou dan gewoon smallint gebruiken, dan heb je tenminste 32767 versnellingen voor- en achteruit of 65535 vooruit. :D
Carpe Libertatem
pi_149812152
quote:
10s.gif Op woensdag 18 februari 2015 21:19 schreef mstx het volgende:

[..]

Tinyint(1) = 0 t/m 9
Boolean = true/false

Hoe is dat het zelfde?
ENUM ('TRUE','FALSE') :P
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
pi_149814618
quote:
0s.gif Op woensdag 18 februari 2015 21:45 schreef mstx het volgende:

[..]

Omdat ik die database al had en ik altijd de juiste datatypes probeer te gebruiken. :P En dan is het gewoon een beetje vreemd dat een auto ineens "true" versnellingen heeft terwijl er "6" in de database staat. :6
Je kunt je entities toch wel handmatig aanpassen naar het goeie format lijkt me?
pi_149818337
Alles kan, zo had ik een collega die het een goed idee vond om een nullable bool te gebruiken, en op die manier tristate te kunnen opslaan, nog nooit zoveel gezeik gehad met exports :r :9~
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
pi_149819074
quote:
0s.gif Op donderdag 19 februari 2015 08:51 schreef raptorix het volgende:
Alles kan, zo had ik een collega die het een goed idee vond om een nullable bool te gebruiken, en op die manier tristate te kunnen opslaan, nog nooit zoveel gezeik gehad met exports :r :9~
Daar is een boolean inderdaad niet voor bedoeld en het levert in SQL en veel andere talen doorgaans wel vrij onverwachte informatie op als je er logische operaties mee gaat uitvoeren.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_149819247
quote:
0s.gif Op donderdag 19 februari 2015 09:36 schreef Monolith het volgende:

[..]

Daar is een boolean inderdaad niet voor bedoeld en het levert in SQL en veel andere talen doorgaans wel vrij onverwachte informatie op als je er logische operaties mee gaat uitvoeren.
Ja klopt, er moest een sync proces via een automatisch tool naar Oracle worden gezet, in die tooling kon geen cast worden gedaan waardoor enige mogelijkheid was om al die velden te gaan omzetten, dit leverde ook weer allemaal gezeik op omdat een boolean in die tijd formeel geen null kon zijn in SQL Server, heeft echt weken gekost om dat goed gefixed te krijgen.
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
  woensdag 25 februari 2015 @ 20:35:20 #46
37634 wobbel
Da WoBBeL King
pi_150042597
Help, ik zit in de knoei met een SQL query in PHP....

Ik heb een tabel met daarin hardware die besteld moet worden, zie onderstaande tabel:

tabel "bestellen"
volgende velden:

product
userdienodigheeft
userdiebesteldheeft

De user velden zijn ID's die ik vanuit een andere tabel "users" kan joinen

tabel "users"
iduser
naam

Als ik een JOIN die op de volgende manier kan dat prima als ik maar 1 user wil ophalen, maar hoe doe ik dat als ik de gegevens van 2 users wil ophalen? De bestelling kan nodig zijn voor user 1000 en besteld zijn door user 1028 namelijk :)

Huidige query waarmee ik maar 1 user ophaal

1
2
3
4
5
<?php
SELECT 
FROM bestellen
INNER JOIN users 
ON 
bestellen.userdienodigheeft users.IdUser 
?>

Mijn idee, welke uiteraard niet werkt was het volgt, maar hoe moet het wel??

1
2
3
4
5
6
7
<?php
SELECT 
FROM bestellen
INNER JOIN users 
ON 
bestellen.userdienodigheeft users.IdUser 
INNER JOIN users 
ON 
bestellen.userdiebesteldheeft users.IdUser )
?>

In beide gevallen krijg ik maar 1 veld terug, dat is 'naam' maar ik wil eigenlijk naamNodig en naamBesteld ofzo krijgen :)
pi_150042833
quote:
0s.gif Op woensdag 25 februari 2015 20:35 schreef wobbel het volgende:
Help, ik zit in de knoei met een SQL query in PHP....

Ik heb een tabel met daarin hardware die besteld moet worden, zie onderstaande tabel:

tabel "bestellen"
volgende velden:

product
userdienodigheeft
userdiebesteldheeft

De user velden zijn ID's die ik vanuit een andere tabel "users" kan joinen

tabel "users"
iduser
naam

Als ik een JOIN die op de volgende manier kan dat prima als ik maar 1 user wil ophalen, maar hoe doe ik dat als ik de gegevens van 2 users wil ophalen? De bestelling kan nodig zijn voor user 1000 en besteld zijn door user 1028 namelijk :)

Huidige query waarmee ik maar 1 user ophaal
[ code verwijderd ]

Mijn idee, welke uiteraard niet werkt was het volgt, maar hoe moet het wel??
[ code verwijderd ]

In beide gevallen krijg ik maar 1 veld terug, dat is 'naam' maar ik wil eigenlijk naamNodig en naamBesteld ofzo krijgen :)
Je doet twee Inner Joins op dezelfde tabel, volgens mij kun je er dan beter twee aparte queries van maken.

Maar je kunt het keyword 'as' gebruiken om bijnamen te geven aan kolomnamen.

[ Bericht 0% gewijzigd door #ANONIEM op 25-02-2015 20:44:54 ]
  woensdag 25 februari 2015 @ 21:02:41 #48
37634 wobbel
Da WoBBeL King
pi_150043787
quote:
0s.gif Op woensdag 25 februari 2015 20:40 schreef robin007bond het volgende:

[..]

Je doet twee Inner Joins op dezelfde tabel, volgens mij kun je er dan beter twee aparte queries van maken.

Maar je kunt het keyword 'as' gebruiken om bijnamen te geven aan kolomnamen.
Dat met die keywords/bijnamen begrijp ik, maar niet hoe ik aan de 2 namen van de users kom. Ik doe inderdaad twee joins op 1 tabel maar dat werkt uiteraard niet...

Ik zou een 2e query kunnen doen, maar dan zou ik dat voor élk resultaat moeten doen. Bij een pagina met 20 resultaten heb ik dan 21 queries (1 querie voor de resultaten inclusief join voor de 1e naam, en 20 voor de andere namen)
pi_150043875
quote:
0s.gif Op woensdag 25 februari 2015 21:02 schreef wobbel het volgende:

[..]

Dat met die keywords/bijnamen begrijp ik, maar niet hoe ik aan de 2 namen van de users kom. Ik doe inderdaad twee joins op 1 tabel maar dat werkt uiteraard niet...

Ik zou een 2e query kunnen doen, maar dan zou ik dat voor élk resultaat moeten doen. Bij een pagina met 20 resultaten heb ik dan 21 queries (1 querie voor de resultaten inclusief join voor de 1e naam, en 20 voor de andere namen)
Sorry, maar dan heb je je database waarschijnlijk niet optimaal ingericht. :@
pi_150045567
quote:
0s.gif Op woensdag 25 februari 2015 21:02 schreef wobbel het volgende:

[..]

Dat met die keywords/bijnamen begrijp ik, maar niet hoe ik aan de 2 namen van de users kom. Ik doe inderdaad twee joins op 1 tabel maar dat werkt uiteraard niet...

Ik zou een 2e query kunnen doen, maar dan zou ik dat voor élk resultaat moeten doen. Bij een pagina met 20 resultaten heb ik dan 21 queries (1 querie voor de resultaten inclusief join voor de 1e naam, en 20 voor de andere namen)
Je hebt mogelijk kolommen met eenzelfde naam zodat in het resultaat er één (unieke naam) overblijft.
Je kunt het oplossen door alternatieve namen in de SELECT te gebruiken. Bijvoorbeeld:
1
2
3
4
5
6
7
8
    SELECT b.*,
           u1.idUser AS idUser1, u1.naam AS naam1
           u2.idUser AS idUser2, u2.naam AS naam2
      FROM bestellen AS b
INNER JOIN users AS u1
        ON b.userdienodigheeft = u1.IdUser
INNER JOIN users AS u2
        ON b.userdiebesteldheeft = u2.idUser
(Ik weet niet welke kolommen er verder voorkomen).
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
  donderdag 26 februari 2015 @ 08:19:46 #51
37634 wobbel
Da WoBBeL King
pi_150057610
quote:
7s.gif Op woensdag 25 februari 2015 21:43 schreef Aether het volgende:

[..]

Je hebt mogelijk kolommen met eenzelfde naam zodat in het resultaat er één (unieke naam) overblijft.
Je kunt het oplossen door alternatieve namen in de SELECT te gebruiken. Bijvoorbeeld:
[ code verwijderd ]

(Ik weet niet welke kolommen er verder voorkomen).
Top, dit is hem inderdaad :) You saved my day, nu krijg inderdaad netjes de juiste namen te zien.

quote:
0s.gif Op woensdag 25 februari 2015 21:04 schreef robin007bond het volgende:

[..]

Sorry, maar dan heb je je database waarschijnlijk niet optimaal ingericht. :@
Die kans is aanwezig, maar soms moet je werken met wat je hebt :P
pi_150059766
Stabiele versie 1.0.0 appserver.io uitgebracht.
quote:
The objective of the project is to develop a multithreaded application server for PHP, written in PHP. Yes, pure PHP! You think we aren't serious? Maybe! But we think, in order to enable as many developers in our great community, this will be the one and only way. So with your help we hopefully establish a solution as the standard for enterprise applications in PHP environments.
http://appserver.io/
https://github.com/appserver-io/appserver
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
pi_150061101
quote:
7s.gif Op donderdag 26 februari 2015 10:07 schreef Aether het volgende:
Stabiele versie 1.0.0 appserver.io uitgebracht.

[..]

http://appserver.io/
https://github.com/appserver-io/appserver
Ik heb een beter idee. Leer Java. :P
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_150135862
quote:
15s.gif Op woensdag 18 februari 2015 21:14 schreef mstx het volgende:
Ben sinds kort iets aan het maken met Symfony2/Doctrine. Dus ik heb in mijn database een TINYINT veld, zegt dat systeem dat het een boolean is. Welke idioot heeft dat bedacht? |:(
Je hebt met PHP te maken, elke idioot kan dat bedacht hebben (Ik heb de draad gelezen, het komt door mysql..)
In theory there is no difference between theory and practice. In practice there is.
pi_150136002
quote:
14s.gif Op woensdag 18 februari 2015 21:37 schreef KomtTijd... het volgende:

[..]

Waarom maak je je uberhaupt druk om het database format? Laat dat lekker aan doctrine over. Die zal er waarschijnlijk een int van maken. Mocht je dat nog willen micro-optimaliseren naar een tinyint kun je dat doen na uitrol van je applicatie.
Docterine zit fout m.i. De MySQL docs zeggen:

quote:
A value of zero is considered false. Nonzero values are considered true
Dat wilt dus zeggen dat een tinyint(1) veld dus: 0 of niet 0 moet teruggeven, als je if ($bool) doet, gaat die logica vanzelf goed, daar hoeven ze geen "true" of "false" van de maken. En mocht je echt willen dat een tinyint een boolean is, dan moet je dat ergens in je schema kunnen opnemen.

http://doctrine-dbal.read(...)reference/types.html Should be possible..
In theory there is no difference between theory and practice. In practice there is.
pi_150137744
Dat gaat je problemen opleveren wanneer je b.v. === true doet. De == operator in PHP is aardig verneukt.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_150138980
quote:
0s.gif Op zaterdag 28 februari 2015 08:57 schreef Monolith het volgende:
Dat gaat je problemen opleveren wanneer je b.v. === true doet. De == operator in PHP is aardig verneukt.
hoezo? ohhh omdat 0 === true is?
In theory there is no difference between theory and practice. In practice there is.
pi_150139104
quote:
1s.gif Op zaterdag 28 februari 2015 10:38 schreef slacker_nl het volgende:

[..]

hoezo? ohhh omdat 0 === true is?
Nee, omdat bijvoorbeeld 3 === true false oplevert en dergelijke checks dus falen als je de daadwerkelijke int waarden gebruikt.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_150139512
quote:
1s.gif Op zaterdag 28 februari 2015 10:45 schreef Monolith het volgende:

[..]

Nee, omdat bijvoorbeeld 3 === true false oplevert en dergelijke checks dus falen als je de daadwerkelijke int waarden gebruikt.
Doctorine moet gewoon niet naar het interne storageformaat kijken maar ergens in z'n schema files een definitie plaatsen van de kolom: boolean. Dat ie dat vervolgens mapped maar tinyint of supersmallint of weet ik het maakt dan niet uit. Null == false, idem voor 0 en de rest is true. Fixed. Dan kan je tinyint gebruiken in je DB en booleans zonder gezeik met true versnellingen.

Beetje ala
http://search.cpan.org/~g(...)ateColumn/Boolean.pm

[ Bericht 5% gewijzigd door slacker_nl op 28-02-2015 11:19:38 ]
In theory there is no difference between theory and practice. In practice there is.
pi_150139839
quote:
1s.gif Op zaterdag 28 februari 2015 11:06 schreef slacker_nl het volgende:

[..]

Doctorine moet gewoon niet naar het interne storageformaat kijken maar ergens in z'n schema files een definitie plaatsen van de kolom: boolean. Dat ie dat vervolgens mapped maar tinyint of supersmallint of weet ik het maakt dan niet uit. Null == false, idem voor 0 en de rest is true. Fixed. Dan kan je tinyint gebruiken in je DB en booleans zonder gezeik met true versnellingen.
Doctrine zelf is gewoon een ORM framework. Volgens mij gebruikt betreffende user gewoon een tooltje om op basis van een database schema de bijbehorende code te kunnen genereren. Doctrine werkt net als allerhande andere ORM frameworks met annotaties, waarbij je ook types op kunt geven.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_150165319
quote:
1s.gif Op zaterdag 28 februari 2015 11:06 schreef slacker_nl het volgende:

[..]

Doctorine moet gewoon niet naar het interne storageformaat kijken maar ergens in z'n schema files een definitie plaatsen van de kolom: boolean. Dat ie dat vervolgens mapped maar tinyint of supersmallint of weet ik het maakt dan niet uit. Null == false, idem voor 0 en de rest is true. Fixed. Dan kan je tinyint gebruiken in je DB en booleans zonder gezeik met true versnellingen.

Beetje ala
http://search.cpan.org/~g(...)ateColumn/Boolean.pm
Doctrine gebruikt ook de interne definitie. Als je aangeeft dat een veld een boolean bevat, krijg je een kolom voor booleans. Maar als je vervolgens een database gebruikt die geen booleans ondersteunt (zoals MySQL) dan krijg je een automatische fallback naar het kleinste numerieke formaat, ofwel de tinyint. Dat staat ook in de documentatie.
  zondag 1 maart 2015 @ 10:01:05 #62
187069 slacker_nl
Sicko pur sang
pi_150171253
quote:
0s.gif Op zondag 1 maart 2015 00:21 schreef Light het volgende:

[..]

Doctrine gebruikt ook de interne definitie. Als je aangeeft dat een veld een boolean bevat, krijg je een kolom voor booleans. Maar als je vervolgens een database gebruikt die geen booleans ondersteunt (zoals MySQL) dan krijg je een automatische fallback naar het kleinste numerieke formaat, ofwel de tinyint. Dat staat ook in de documentatie.
En toch gaat het fout, want de beste man heeft true versnellingen ipv 6. Daarom zeg ik: Docterine zit fout, omdat ze ervanuit gaan dat een tinyint een booleanish value is.
In theory there is no difference between theory and practice. In practice there is.
  † In Memoriam † zondag 1 maart 2015 @ 10:09:51 #63
159335 Boze_Appel
Vrij Fruit
pi_150171371
quote:
0s.gif Op zondag 1 maart 2015 10:01 schreef slacker_nl het volgende:

[..]

En toch gaat het fout, want de beste man heeft true versnellingen ipv 6. Daarom zeg ik: Docterine zit fout, omdat ze ervanuit gaan dat een tinyint een booleanish value is.
Doctrine gaat uit van meersere databasedrivers. Dan krijg je compromissen
Carpe Libertatem
pi_150239615
Ik ben voor m'n studie bezig met wat SQL opdrachten en nu zit ik erg te tobben met wat self-joins.

Het probleem is als volgt:

Tabel "Persons"
id
name
address
age
eyeColor
gender

Tabel "Likes"
id
personA_id → Persons
personB_id → Persons

Dan moet ik een query schrijven die als resultaat elke persoon geeft die iemand met blauwe ogen leuk vindt, zonder duplicates.

quote:
SELECT P.name
FROM Persons P, Likes L
WHERE P.id = L.personA_id AND ............
Het lijkt mij dat er na de AND weer een P.id = personB_id moet komen, maar dan wel waar de P.eyeColor = "blue" is.
Hoe krijg ik het voor elkaar om dat te doen?
pi_150240233
Selecten naar likes, persons 2x joinen.
pi_150240420
quote:
14s.gif Op dinsdag 3 maart 2015 09:18 schreef KomtTijd... het volgende:
Selecten naar likes, persons 2x joinen.
Aha, vraag me niet waarom maar ik dacht steeds Likes 2 keer te moeten joinen.

1
2
3
SELECT DISTINCT P1.name
FROM Persons P1, Persons P2, Likes L
WHERE P1.id = L.personA_id AND P2.id = L.personB_id AND P2.eyeColor ="blue"

Deze werkt, thanks :)
pi_150240450
Ik blijf het een irritante notatie vinden die impliciete joins, maar zo kan ook inderdaad ^O^
pi_150240483
quote:
14s.gif Op dinsdag 3 maart 2015 09:34 schreef KomtTijd... het volgende:
Ik blijf het een irritante notatie vinden die impliciete joins, maar zo kan ook inderdaad ^O^
Je zou het zelf dus anders gedaan hebben bedoel je?
Wat dan precies, en met welke gedachte erachter?
pi_150240955
Hoi,
Kan ik mbv SQL ook nummers genereren die voldoen aan de 11-proef?

Ik zoek dus een manier om, op basis van bv een gegeven als data of tijd, een nummer te genereren die ook nog eens voldoet aan de 11-proef voor het kunnen verkrijgen van een geldig BSN-nummer.

Momenteel gebruik ik een statement wat, op basis van een view en vaste gegevens, nummers toevoegt om zo tot een getal van 6 cijfers te komen:

to_char( sysdate, 'WW')||lpad(pst_vnr_seq.nextval,4,0 )

Is het mogelijk of moet het echt met een apart javascript?
pi_150240996
quote:
0s.gif Op dinsdag 3 maart 2015 10:01 schreef justme27 het volgende:
Hoi,
Kan ik mbv SQL ook nummers genereren die voldoen aan de 11-proef?

Ik zoek dus een manier om, op basis van bv een gegeven als data of tijd, een nummer te genereren die ook nog eens voldoet aan de 11-proef voor het kunnen verkrijgen van een geldig BSN-nummer.

Momenteel gebruik ik een statement wat, op basis van een view en vaste gegevens, nummers toevoegt om zo tot een getal van 6 cijfers te komen:

to_char( sysdate, 'WW')||lpad(pst_vnr_seq.nextval,4,0 )

Is het mogelijk of moet het echt met een apart javascript?
Ik begrijp niet zo goed wat javascript er mee te maken heeft, het beste kan je het ID dan laten genereren in PHP. In SQL zou ik het niet zo snel doen.
pi_150241518
quote:
0s.gif Op dinsdag 3 maart 2015 10:01 schreef justme27 het volgende:
Hoi,
Kan ik mbv SQL ook nummers genereren die voldoen aan de 11-proef?

Ik zoek dus een manier om, op basis van bv een gegeven als data of tijd, een nummer te genereren die ook nog eens voldoet aan de 11-proef voor het kunnen verkrijgen van een geldig BSN-nummer.

Momenteel gebruik ik een statement wat, op basis van een view en vaste gegevens, nummers toevoegt om zo tot een getal van 6 cijfers te komen:

to_char( sysdate, 'WW')||lpad(pst_vnr_seq.nextval,4,0 )

Is het mogelijk of moet het echt met een apart javascript?
Je kunt stored procedures schrijven in Mysql.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_150241854
quote:
7s.gif Op dinsdag 3 maart 2015 10:03 schreef Scorpie het volgende:

[..]

Ik begrijp niet zo goed wat javascript er mee te maken heeft, het beste kan je het ID dan laten genereren in PHP. In SQL zou ik het niet zo snel doen.
Javascript was een voorbeeld. En ook omdat ik geen PHP kan gebruiken; mijn selectie als invoertaal is beperkt tot:

java
Javascript
Jython
Groovy
Mozilla Rhino
pi_150241880
quote:
0s.gif Op dinsdag 3 maart 2015 10:28 schreef Monolith het volgende:

[..]

Je kunt stored procedures schrijven in Mysql.
Ik ben helaas geen ontwikkelaar dus dit onderdeel (ik heb ff gelezen) wordt al snel te ingewikkeld voor mij.
pi_150243661
quote:
11s.gif Op dinsdag 3 maart 2015 10:47 schreef justme27 het volgende:

[..]

Ik ben helaas geen ontwikkelaar dus dit onderdeel (ik heb ff gelezen) wordt al snel te ingewikkeld voor mij.
Wat is precies je vraag dan? Hoe je überhaupt een 11-proef nummer kunt genereren? Lijkt me dat hier wel rekenvoorbeelden voor te vinden zijn toch?
  dinsdag 3 maart 2015 @ 11:49:52 #75
62215 qu63
..de tijd drinkt..
pi_150243860
quote:
14s.gif Op dinsdag 3 maart 2015 11:43 schreef KomtTijd... het volgende:

[..]

Wat is precies je vraag dan? Hoe je überhaupt een 11-proef nummer kunt genereren? Lijkt me dat hier wel rekenvoorbeelden voor te vinden zijn toch?
http://nl.wikipedia.org/wiki/Elfproef
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_150243889
Het lijkt meer een verzoek tot het aanleveren van knip-en-plak code. :P
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_150245182
Ik wil Turkse karakters weergeven, maar *iets* lijkt niet goed te gaan.



Ik krijg een vraagteken in plaats van 'ş'. Zie het voorbeeld onderaan.

- Collation tabel: utf8_turkish_ci
- Collation van VARCHAR-kolommen: utf8_turkish_ci

Ik ben er achter dat je 'SET NAMES UTF8' moet gebruiken. Maar wat ik ook doe, ik krijg een blanco pagina te zien als ik 'MYSQL_ATTR_INIT_COMMAND' gebruik.

Code:
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
<?php
    
try {
        
$options = array(
            
PDO::ATTR_PERSISTENT    => true,//can help to improve performance
            
PDO::ATTR_ERRMODE       => PDO::ERRMODE_EXCEPTION//throws exceptions whenever a db error occurs
            
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8'  //>= PHP 5.3.6
        
);    
        
        
$con= new PDO('mysql:host=localhost;dbname=dbname''dbuser''dbpass'$options);    

        
$sql=    "SELECT * FROM A";
        
$stmt=$con->prepare($sql);
        
$stmt->execute();
        while(
$row $stmt->fetch(PDO::FETCH_ASSOC)) {
            echo 
'<tr>';
            echo 
'<td>' $row['A'] . '</td>';
            echo 
'<td>' $row['B'] . '</td>';
            echo 
'<td>' $row['C'] . ' - ' $row['D'] . '</td>';
            echo 
'<td>' $row['E'] . '</td>';
            echo 
'</tr>';
        }
    }
    catch(
PDOException $e) {
        echo 
'<pre>';
        echo 
'Regel: '.$e->getLine(). '<br />';
        echo 
'Bestand: '.$e->getFile(). '<br />';
        echo 
'Foutmelding: '.$e->getMessage();
        echo 
'</pre>'
    }
?>

Ook andere dingen geprobeerd zoals:
1
2
3
4
<?php
$con
= new PDO('mysql:host=localhost;dbname=dbname''dbuser''dbpass'
                
, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8'));    
?>

1
2
3
<?php
$stmt
=$con->prepare($sql, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8'));
?>

Maar ik krijg het maar niet aan de praat.

PHP-versie is 5.5.20. Iemand een idee? Raar genoeg werkte het hiervoor wel... :S.

[ Bericht 0% gewijzigd door #ANONIEM op 03-03-2015 12:37:00 ]
pi_150245613
Blanco pagina's betekenen doorgaans dat je een error krijgt die je niet zet.

Zet in ieder geval de error reporting / weergave even aan:
1
2
3
4
<?php
error_reporting
(E_ALL);
ini_set('display_errors'1);
?>
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_150246535
quote:
0s.gif Op dinsdag 3 maart 2015 12:51 schreef Monolith het volgende:
Blanco pagina's betekenen doorgaans dat je een error krijgt die je niet zet.

Zet in ieder geval de error reporting / weergave even aan:
[ code verwijderd ]

Gedaan. Geen foutmeldingen. Het wordt in zijn geheel niet meer weergegeven.
Ervoor:


Erna:
pi_150246644
Kan het zijn dat je de data al verkeerd hebt opgeslagen in de database?? heb ik ook wel eens gehad... :{
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_150246729
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
pi_150246763
quote:
0s.gif Op dinsdag 3 maart 2015 13:24 schreef Chandler het volgende:
Kan het zijn dat je de data al verkeerd hebt opgeslagen in de database?? heb ik ook wel eens gehad... :{

quote:
0s.gif Op dinsdag 3 maart 2015 13:27 schreef raptorix het volgende:
MUST READ, REPEAT, MUST READ! :+

http://www.joelonsoftware.com/articles/Unicode.html
Thanks, zal het zo doornemen!

[ Bericht 3% gewijzigd door #ANONIEM op 03-03-2015 13:28:19 ]
pi_150247584
quote:
0s.gif Op dinsdag 3 maart 2015 13:20 schreef zarGon het volgende:

[..]

Gedaan. Geen foutmeldingen. Het wordt in zijn geheel niet meer weergegeven.
Ervoor:
[ afbeelding ]

Erna:
[ afbeelding ]
Heb je de PHP-file zelf ook in UTF-8 opgeslagen? Kan zijn dat je ook nog even een meta-tag moet toevoegen in de pagina waarin je dit weergeeft.
pi_150248729
1
2
3
SELECT DISTINCT P1.name
FROM Persons P1, Persons P2, Likes L
WHERE P1.id = L.personA_id AND P2.id = L.personB_id AND P2.eyeColor ="blue" 

Om even terug te komen op dit. Hoe verander ik dit nu zodat nu alleen de persoon wordt weergegeven die minstens twee personen met blauwe ogen aardig vindt? Volgens mij is het nog niet de bedoeling om COUNT te gebruiken, dus hoe kan ik dit dan oplossen?
pi_150250580
Dit is geen huiswerktopic. o|O
maar om je een hint te geven, je moet in ieder geval 3x iets uit Persons selecteren in dit geval.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_150250653
quote:
1s.gif Op dinsdag 3 maart 2015 13:53 schreef robin007bond het volgende:

[..]

Heb je de PHP-file zelf ook in UTF-8 opgeslagen? Kan zijn dat je ook nog even een meta-tag moet toevoegen in de pagina waarin je dit weergeeft.
Als het goed is wel, zal ik vanavond naar kijken. Thanks.
pi_150250693
quote:
0s.gif Op dinsdag 3 maart 2015 14:29 schreef DannyDeko het volgende:

[ code verwijderd ]

Om even terug te komen op dit. Hoe verander ik dit nu zodat nu alleen de persoon wordt weergegeven die minstens twee personen met blauwe ogen aardig vindt? Volgens mij is het nog niet de bedoeling om COUNT te gebruiken, dus hoe kan ik dit dan oplossen?
Waarom dat?

De simpelste oplossing lijkt mij eerst GROUP BY en een COUNT(). Vervolgens een select daaromheen met een WHERE en COUNT() > 1.

Een HAVING is makkelijker, maar ook dan heb je een COUNT.

Lukt het hiermee?

[ Bericht 1% gewijzigd door #ANONIEM op 03-03-2015 15:40:37 ]
pi_150251085
quote:
0s.gif Op dinsdag 3 maart 2015 15:29 schreef Monolith het volgende:
Dit is geen huiswerktopic. o|O
maar om je een hint te geven, je moet in ieder geval 3x iets uit Persons selecteren in dit geval.
I know, ik ben ook niet op zoek naar directe antwoorden. (;

quote:
0s.gif Op dinsdag 3 maart 2015 15:32 schreef zarGon het volgende:

[..]

Waarom dat?

De simpelste oplossing lijkt mij eerst GROUP BY en een COUNT(). Vervolgens een select daaromheen met een WHERE en COUNT() > 1.

Een HAVING is makkelijker, maar ook dan heb je een COUNT.

Lukt het hiermee?
Omdat het per onderdeel wordt uitgelegd ( voor zover dat wordt gedaan, documentatie is echt minimaal) en daarna enkele opgaven gegeven worden. En HAVING en COUNT komen pas later aan de orde.

Ik ga er weer even mee stoeien. Alvast bedankt :)
pi_150251169
quote:
0s.gif Op dinsdag 3 maart 2015 15:43 schreef DannyDeko het volgende:

Omdat het per onderdeel wordt uitgelegd ( voor zover dat wordt gedaan, documentatie is echt minimaal) en daarna enkele opgaven gegeven worden. En HAVING en COUNT komen pas later aan de orde.

Ik ga er weer even mee stoeien. Alvast bedankt :)
Wat mag je nu wel gebruiken dan? Er moet op de een of andere manier toch een telling plaatsvinden...
pi_150251942
quote:
0s.gif Op dinsdag 3 maart 2015 15:46 schreef zarGon het volgende:

[..]

Wat mag je nu wel gebruiken dan? Er moet op de een of andere manier toch een telling plaatsvinden...
Ik heb het maar gewoon gebruikt, want zoals je al zei zal er toch op een manier geteld moeten worden.

1
2
3
4
5
SELECT DISTINCT P1.name
FROM Persons P1, Persons P2, Likes L
WHERE P1.id = L.personA_id AND P2.id = L.personB_id AND P2.eyeColor ="green"
GROUP BY P1.name
HAVING COUNT(P2.eyeColor = "green") > 1

Zo is ie valid.
Maar zou je me kunnen uitleggen waarom " GROUP BY P1.name " hier nodig is?
pi_150252018
quote:
0s.gif Op dinsdag 3 maart 2015 16:08 schreef DannyDeko het volgende:

[..]

Ik heb het maar gewoon gebruikt, want zoals je al zei zal er toch op een manier geteld moeten worden.
[ code verwijderd ]

Zo is ie valid.
Maar zou je me kunnen uitleggen waarom " GROUP BY P1.name " hier nodig is?
Je distinct is onnodig, je hebt GROUP BY al.

En GROUP BY is nodig door de HAVING.

Verder is je HAVING niet goed, want je wil het aantal keren dat personA_id voorkomt tellen. (Eigenlijk de naam, maar een naam is natuurlijk niet uniek.)

1
2
3
4
5
6
7
8
9
SELECT P1.Name, COUNT(L.personA_id) AS NrOfLikes
FROM Likes L
INNER JOIN Persons P1
    ON L.personA_id = P1.id
INNER JOIN Persons P2
    ON L.personB_id = P2.id
WHERE P2.eyeColor = 'green'
GROUP BY P1.Name
HAVING COUNT(L.personA_id) > 1

Alhoewel, ik test het op TSQL; dat wijkt ietwat af van MySQL. Draait jouw code met de HAVING die jij hebt?!

[ Bericht 1% gewijzigd door #ANONIEM op 03-03-2015 16:16:55 ]
pi_150252339
quote:
0s.gif Op dinsdag 3 maart 2015 16:10 schreef zarGon het volgende:

[..]

Je distinct is onnodig, je hebt GROUP BY al.

En GROUP BY is nodig door de HAVING.

Verder is je HAVING niet goed, want je wil het aantal keren dat personA_id voorkomt tellen. (Eigenlijk de naam, maar een naam is natuurlijk niet uniek.)
[ code verwijderd ]

Alhoewel, ik test het op TSQL; dat wijkt ietwat af van MySQL. Draait jouw code met de HAVING die jij hebt?!
Aha, duidelijk. Thanks voor de toelichting!

Ik zie (en snap) nu idd ook dat de having verkeerd is.
En ja het draaide ook al met de code die ik poste, dus ook inclusief de overbodige distinct.
pi_150252739
quote:
0s.gif Op dinsdag 3 maart 2015 16:18 schreef DannyDeko het volgende:

[..]

Aha, duidelijk. Thanks voor de toelichting!

Ik zie (en snap) nu idd ook dat de having verkeerd is.
En ja het draaide ook al met de code die ik poste, dus ook inclusief de overbodige distinct.
Wat meer info over de HAVING: http://en.wikipedia.org/wiki/Having_%28SQL%29.

Ik vind die impliciete joins van jou maar niets. :P.
  vrijdag 6 maart 2015 @ 17:26:44 #94
272287 henrivo
Tikt tegen jassies
pi_150359019
Goeie vrijdagmiddag! :)

Ik ben inmiddels een paar dagen geleden vastgelopen tegen iets waar ik écht even geen raad mee weet. Nu ook weer, 4 uur achter elkaar zitten uitproberen, testen, niks lijkt te werken. Ik faal :')

De situatie is als volgt: ik heb tabel Article met o.a. de column articleTags:
1
2
3
4
5
6
7
<?php
/**
     * @ORM\ManyToMany(targetEntity="ArticleTag", inversedBy="articles")
     * @ORM\JoinTable(name="article_tags")
     **/
    
private $articleTags;
?>

En tabel ArticleTag
1
2
3
4
5
6
<?php
/**
     * @ORM\ManyToMany(targetEntity="Article", mappedBy="articleTags")
     **/
    
private $articles;
?>

Nu wil ik een cloudwolkje maken van laten we zeggen 5-10 keywords, dus roep ik het volgende op in de controller:

1
2
3
4
5
6
7
<?php
$qb 
$em->createQueryBuilder();
        
$qb->select('articletag, (SELECT count(article.id) FROM HVNewsBundle:Article AS article WHERE article.articleTags = articletag.id) AS mycount')
            ->
from('HVNewsBundle:ArticleTag''articletag')
            ->
orderBy('mycount''DESC');
        
$articleTags $qb->getQuery()->getResult();
?>

Waarna ik $articleTags in een for-loop wil laten doorlopen in de view

Kunnen jullie mij vertellen wat ik fout doe? Wat ik ook probeer ik blijf steeds foutmeldingen krijgen n.a.v. $qb

Edit: ik wil dus dat wanneer deze view wordt opgevraagd, het aantal artikelen opnieuw wordt berekend :)
pi_150359986
"foutmeldingen" ja daar heb ik ook wel eens last van :P

denk dat je de count moet doen op je koppeltabel.

article.articletags is een arraycollection van tags, dus daar kun je niet zomaar een WHERE op doen.
  vrijdag 6 maart 2015 @ 18:27:58 #96
272287 henrivo
Tikt tegen jassies
pi_150360580
quote:
14s.gif Op vrijdag 6 maart 2015 18:03 schreef KomtTijd... het volgende:
"foutmeldingen" ja daar heb ik ook wel eens last van :P

denk dat je de count moet doen op je koppeltabel.

article.articletags is een arraycollection van tags, dus daar kun je niet zomaar een WHERE op doen.
Dus eigenlijk gewoon een kolommetje erbij met 'views' en die dan per actie ++ of -1 laten berekenen?

Sucks. -O-

Anders begrijp ik je even verkeerd :@
pi_150360753
Nee je kunt toch in je koppel tabel tellen hoeveel artikelen een bepaalde tag heeft of vice versa? Weet FF niet of je makkelijk kunt querien naar de koppeltabel met doctrine maar dat lijkt me wel de manier.
  vrijdag 6 maart 2015 @ 18:41:39 #98
272287 henrivo
Tikt tegen jassies
pi_150360912
quote:
14s.gif Op vrijdag 6 maart 2015 18:35 schreef KomtTijd... het volgende:
Nee je kunt toch in je koppel tabel tellen hoeveel artikelen een bepaalde tag heeft of vice versa? Weet FF niet of je makkelijk kunt querien naar de koppeltabel met doctrine maar dat lijkt me wel de manier.
Ja dat was ook eigenlijk mijn vraag, hoe ik dat het beste doe, aangezien ik nu talloze combinaties geprobeerd heb en SQL/DQL niet mijn sterkste kant is :@
  vrijdag 6 maart 2015 @ 19:39:00 #99
272287 henrivo
Tikt tegen jassies
pi_150362996
Kortgezegde wil ik dus van elk bestaande tag berekenen hoeveel articles er aan gekoppeld zitten. Heeft iemand enig idee hoe?
pi_150363104
quote:
0s.gif Op vrijdag 6 maart 2015 19:39 schreef henrivo het volgende:
Kortgezegde wil ik dus van elk bestaande tag berekenen hoeveel articles er aan gekoppeld zitten. Heeft iemand enig idee hoe?
SELECT COUNT(tag_id) FROM articles_tags GROUP BY article_id :?
  vrijdag 6 maart 2015 @ 20:04:06 #101
363995 Reemi
Zeg maar Remi.
pi_150364235
quote:
19s.gif Op vrijdag 6 maart 2015 19:41 schreef TwenteFC het volgende:

[..]

SELECT COUNT(tag_id) FROM articles_tags GROUP BY article_id :?
Is:

SELECT COUNT(article_id) FROM articles_tags GROUP BY tag_id

Niet logischer? :P Nu tel je voor elk bericht het aantal tags.
Smile like you mean it
www.wefut.com
  vrijdag 6 maart 2015 @ 20:10:25 #102
272287 henrivo
Tikt tegen jassies
pi_150364540
Snappen jullie nu waarom ik de draad kwijt ben? :')
pi_150365067
quote:
0s.gif Op vrijdag 6 maart 2015 20:04 schreef Reemi het volgende:

[..]

Is:

SELECT COUNT(article_id) FROM articles_tags GROUP BY tag_id

Niet logischer? :P Nu tel je voor elk bericht het aantal tags.
:P Lange dag. Maar je hebt inderdaad gelijk ja, iets te snel overheen gelezen ;)
  vrijdag 6 maart 2015 @ 20:28:53 #104
272287 henrivo
Tikt tegen jassies
pi_150365509
quote:
19s.gif Op vrijdag 6 maart 2015 20:21 schreef TwenteFC het volgende:

[..]

:P Lange dag.
Ik ook, maar wanneer ik dit doe:
1
2
3
4
5
<?php
$query 
$em->createQuery('SELECT COUNT(article_id) FROM articles_tags GROUP BY tag_id');

        
$articleTags $query->getResult();
?>
Levert mij dit op:
1[Semantical Error] line 0, col 30 near 'articles_tags': Error: Class 'articles_tags' is not defined.
pi_150370256
quote:
0s.gif Op vrijdag 6 maart 2015 20:28 schreef henrivo het volgende:

[..]

Ik ook, maar wanneer ik dit doe:
[ code verwijderd ]

Levert mij dit op:
[ code verwijderd ]

:P Probeer het eerst in PhpMyAdmin/HeidiSQL/SQLyog oid om de juiste data te krijgen.
  vrijdag 6 maart 2015 @ 22:18:27 #106
272287 henrivo
Tikt tegen jassies
pi_150370439
quote:
19s.gif Op vrijdag 6 maart 2015 22:13 schreef TwenteFC het volgende:

[..]

:P Probeer het eerst in PhpMyAdmin/HeidiSQL/SQLyog oid om de juiste data te krijgen.
Thanks, ga ik even mee aan de slag :)

Edit:
Dat gaat trouwens niet zomaar, DQL != SQL. Ben al dagen bezig met queries, maar krijg nog steeds niet het gewenste resultaat (lees: een array terugkrijgen van tags met daaraan gekoppeld in hoeveel artikelen ze voorkomen)

[ Bericht 14% gewijzigd door henrivo op 06-03-2015 22:31:33 ]
  Moderator dinsdag 10 maart 2015 @ 12:50:36 #107
55052 crew  djkoelkast
www.xms.nl
pi_150492663
Ik heb hier een exportscript wat ik wil aanpassen, normaal gaat me dat goed af, maar hier loop ik echt even vast.

Voorbeeldje:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
            
// CSV import format
            
$headers = array(
                
'order_id'               => 'Ordernummer',
                
'shipping_first_name'    => 'shipping_first_name',
                
'shipping_last_name'     => 'shipping_last_name',
                
'shipping_address_1'     => 'shipping_address_1',
                
'shipping_address_2'     => 'shipping_address_2',
                
'shipping_postcode'      => 'shipping_postcode',
                
'shipping_city'          => 'shipping_city',
                
'shipping_country'       => 'shipping_country',
                
'shipping_company'       => 'shipping_company',
                
'billing_phone'          => 'billing_phone',
                
'customer_note'          => 'customer_note',
            );
?>

Ik wil alleen first name en last name in 1 veld hebben.
Maar nog wel meer van die dingetjes waar ik niet uit kom, iemand die me hier in kan assisteren?
Luister naar XPLIZIT op www.xms.nl
Voor alles retro bezoek je het Retroforum - www.retroforum.nl
  Moderator woensdag 11 maart 2015 @ 23:21:01 #109
55052 crew  djkoelkast
www.xms.nl
pi_150551058
Daarmee kom ik er nog niet uit helaas. Ik zal wat hands-on uitleg moeten hebben.
Ik kan er wel een punt voor gooien, maar 't zit wel in een array hè?
Luister naar XPLIZIT op www.xms.nl
Voor alles retro bezoek je het Retroforum - www.retroforum.nl
pi_150551197
Wellicht kun je wat meer informatie in dit topic posten. Ik zie enkel een array structuur. Wat je doet, wat je wilt bereiken en waar het probleem ligt zie ik daar niet in.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_150554360
quote:
0s.gif Op woensdag 11 maart 2015 23:21 schreef djkoelkast het volgende:
Daarmee kom ik er nog niet uit helaas. Ik zal wat hands-on uitleg moeten hebben.
Ik kan er wel een punt voor gooien, maar 't zit wel in een array hè?
Wat voor foutmelding kreeg je dan toen je het probeerde? Of wat is het probleem?

We kunnen niet ruiken wat je verkeerd doet als je alleen maar meldt dat het niet lukt hè.
  Moderator donderdag 12 maart 2015 @ 09:49:57 #112
55052 crew  djkoelkast
www.xms.nl
pi_150557503
Ik wil een csv-export en die werkt want het is een bestaand script.
Ik wil alleen velden op mijn volgorde en met de info die ik nodig heb exporteren en niet met wat die programmeur heeft bedacht, maar ik vind het erg lastig op deze manier omdat ik eigenlijk geen idee heb wat ik aan het doen ben.
Toen ik het probeerde ging mijn site op error 500 :+
Luister naar XPLIZIT op www.xms.nl
Voor alles retro bezoek je het Retroforum - www.retroforum.nl
pi_150557669
Het helpt al een heleboel als je de foutmelding leest en probeert te begrijpen. Dik kans dat er gewoon ergens een puntkomma verkeerd staat bijvoorbeeld, in de foutmelding staat waar (regel nummer)
  vrijdag 13 maart 2015 @ 09:22:47 #114
118585 Crutch
Filantroop || Taalzwengel
pi_150589972
quote:
0s.gif Op donderdag 12 maart 2015 09:49 schreef djkoelkast het volgende:
Ik wil een csv-export en die werkt want het is een bestaand script.
Ik wil alleen velden op mijn volgorde en met de info die ik nodig heb exporteren en niet met wat die programmeur heeft bedacht, maar ik vind het erg lastig op deze manier omdat ik eigenlijk geen idee heb wat ik aan het doen ben.
Toen ik het probeerde ging mijn site op error 500 :+
Post hier je code, daar hebben we veel meer aan.
Je moeder is een hamster
  Moderator vrijdag 13 maart 2015 @ 10:11:19 #115
55052 crew  djkoelkast
www.xms.nl
pi_150591285
quote:
14s.gif Op donderdag 12 maart 2015 09:55 schreef KomtTijd... het volgende:
Het helpt al een heleboel als je de foutmelding leest en probeert te begrijpen. Dik kans dat er gewoon ergens een puntkomma verkeerd staat bijvoorbeeld, in de foutmelding staat waar (regel nummer)
Er is geen foutmelding, gewoon wit scherm, meer niet.

quote:
0s.gif Op vrijdag 13 maart 2015 09:22 schreef Crutch het volgende:

[..]

Post hier je code, daar hebben we veel meer aan.
De hele code posten is wat onhandig, vandaar dat ik iemand vraag die me even wegwijs wil maken, die kan het script dan even bekijken en zeggen wat ik moet doen.
Luister naar XPLIZIT op www.xms.nl
Voor alles retro bezoek je het Retroforum - www.retroforum.nl
pi_150591316
quote:
0s.gif Op vrijdag 13 maart 2015 10:11 schreef djkoelkast het volgende:

[..]

Er is geen foutmelding, gewoon wit scherm, meer niet.

Dan eerst daar iets aan doen.

http://php.net/manual/en/function.error-reporting.php
  zaterdag 14 maart 2015 @ 08:48:30 #117
187069 slacker_nl
Sicko pur sang
pi_150625704
quote:
0s.gif Op vrijdag 13 maart 2015 10:11 schreef djkoelkast het volgende:

[..]

Er is geen foutmelding, gewoon wit scherm, meer niet.

[..]

De hele code posten is wat onhandig, vandaar dat ik iemand vraag die me even wegwijs wil maken, die kan het script dan even bekijken en zeggen wat ik moet doen.
Je moet dat ene doen waardoor het gaat werken.
In theory there is no difference between theory and practice. In practice there is.
pi_150628101
Dit is een beetje als vragen om hulp bij een auto die niet wil starten en dan een foto van het kinderzitje laten zien.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
  Moderator zaterdag 14 maart 2015 @ 11:57:35 #119
55052 crew  djkoelkast
www.xms.nl
pi_150628585
Ik vraag dan ook of iemand even wegenwacht wil spelen en niet of iemand de handleiding van mijn auto wil aangeven, want die heb ik al gelezen en ik kom er niet uit.
Luister naar XPLIZIT op www.xms.nl
Voor alles retro bezoek je het Retroforum - www.retroforum.nl
  zaterdag 14 maart 2015 @ 12:35:13 #120
62215 qu63
..de tijd drinkt..
pi_150629290
quote:
0s.gif Op zaterdag 14 maart 2015 11:57 schreef djkoelkast het volgende:
Ik vraag dan ook of iemand even wegenwacht wil spelen en niet of iemand de handleiding van mijn auto wil aangeven, want die heb ik al gelezen en ik kom er niet uit.
Nou, open de motorkap dan kunnen we kijken wat er in zit ;)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_150629609
quote:
0s.gif Op zaterdag 14 maart 2015 11:57 schreef djkoelkast het volgende:
Ik vraag dan ook of iemand even wegenwacht wil spelen en niet of iemand de handleiding van mijn auto wil aangeven, want die heb ik al gelezen en ik kom er niet uit.
Dus je zoekt geen hulp, je hebt gewoon een opdracht bedoel je?

Dan zou ik het eens op http://freelance.net proberen ofzo. Misschien dat iemand hier een offerte voor je wil maken maar officieel is dat niet toegestaan op fok.
  Moderator zaterdag 14 maart 2015 @ 12:55:01 #122
55052 crew  djkoelkast
www.xms.nl
pi_150629813
quote:
1s.gif Op zaterdag 14 maart 2015 12:47 schreef KomtTijd... het volgende:

[..]

Dus je zoekt geen hulp, je hebt gewoon een opdracht bedoel je?

Dan zou ik het eens op http://freelance.net proberen ofzo. Misschien dat iemand hier een offerte voor je wil maken maar officieel is dat niet toegestaan op fok.
_O- Krijgen we dat weer.
Gewoon even iemand die naar het script kan kijken en kan zeggen ooooh dan moet je dat en dat doen. Ik ga alleen niet het hele script openbaar gooien, het is ten slotte niet van mij, ik wil er alleen wat in wijzigen.
Luister naar XPLIZIT op www.xms.nl
Voor alles retro bezoek je het Retroforum - www.retroforum.nl
pi_150630049
Sja als je niet op een normale manier geholpen wilt worden is dat je oplossing. Succes!
pi_150633200
quote:
0s.gif Op zaterdag 14 maart 2015 12:55 schreef djkoelkast het volgende:

[..]

_O- Krijgen we dat weer.
Gewoon even iemand die naar het script kan kijken en kan zeggen ooooh dan moet je dat en dat doen. Ik ga alleen niet het hele script openbaar gooien, het is ten slotte niet van mij, ik wil er alleen wat in wijzigen.
:') Een competent iemand erbij halen zou een hoop schelen.
  zaterdag 14 maart 2015 @ 15:34:20 #125
187069 slacker_nl
Sicko pur sang
pi_150633893
quote:
0s.gif Op zaterdag 14 maart 2015 11:57 schreef djkoelkast het volgende:
Ik vraag dan ook of iemand even wegenwacht wil spelen en niet of iemand de handleiding van mijn auto wil aangeven, want die heb ik al gelezen en ik kom er niet uit.
Voor 200 euro per uur ben ik de wegenwacht. En ik reken 1 uur en 1 min als 2 uur werk. Of je maakt een gist en laat mensen zien wat er 1) nu gebeurd en 2) wat je verwacht dat er gebeurd.
In theory there is no difference between theory and practice. In practice there is.
pi_150634421
quote:
0s.gif Op zaterdag 14 maart 2015 12:55 schreef djkoelkast het volgende:

[..]

_O- Krijgen we dat weer.
Gewoon even iemand die naar het script kan kijken en kan zeggen ooooh dan moet je dat en dat doen. Ik ga alleen niet het hele script openbaar gooien, het is ten slotte niet van mij, ik wil er alleen wat in wijzigen.
Wij kunnen je echter geen suggesties aanbieden als wij niet weten hoe het script in elkaar steekt. Je zal het of openbaar moeten gooien of zelf nader moeten uitleggen hoe het script werkt.

[ Bericht 26% gewijzigd door Wicketd op 14-03-2015 16:06:45 ]
The casino is the only place where you can lose a hundred dollars in a slot machine and shrug your shoulders, then lose a dollar in a soda machine and beat the shit out of it.
pi_150647243
quote:
0s.gif Op zaterdag 14 maart 2015 12:55 schreef djkoelkast het volgende:

[..]

_O- Krijgen we dat weer.
Gewoon even iemand die naar het script kan kijken en kan zeggen ooooh dan moet je dat en dat doen. Ik ga alleen niet het hele script openbaar gooien, het is ten slotte niet van mij, ik wil er alleen wat in wijzigen.
Leer debuggen, minimaliseer het probleem. Kijk naar waardes van variabelen. Als die verschillen van verwachting moet je het probleem achter halen.

Trouwens je hoeft niet al je code te tonen. Alleen waar het mis gaat. Wij gaan je werk niet doen, maar we willen wel helpen.
  zaterdag 14 maart 2015 @ 22:44:49 #128
12221 Tijn
Powered by MS Paint
pi_150647898
Alsof zo'n CSV exporteerscriptje zulke speciale code bevat dat je dat niet zou mogen posten _O-
  † In Memoriam † zaterdag 14 maart 2015 @ 23:49:51 #129
159335 Boze_Appel
Vrij Fruit
pi_150649903
quote:
0s.gif Op zaterdag 14 maart 2015 11:29 schreef Monolith het volgende:
Dit is een beetje als vragen om hulp bij een auto die niet wil starten en dan een foto van het kinderzitje laten zien.
Lijkt mij legitiem. Kinderen zijn de oorzaak van alle problemen.
Carpe Libertatem
  † In Memoriam † zaterdag 14 maart 2015 @ 23:50:57 #130
159335 Boze_Appel
Vrij Fruit
pi_150649929
Sowieso klopt zijn array met een comma aan het einde niet.
Carpe Libertatem
pi_150654879
quote:
0s.gif Op zaterdag 14 maart 2015 23:50 schreef Boze_Appel het volgende:
Sowieso klopt zijn array met een comma aan het einde niet.
jawel, ik doe dat ook altijd zo. Mocht je later iets willen toevoegen kun je direct doorschrijven.
pi_150655279
quote:
1s.gif Op zondag 15 maart 2015 08:16 schreef Pakspul het volgende:

[..]

jawel, ik doe dat ook altijd zo. Mocht je later iets willen toevoegen kun je direct doorschrijven.
:{

[ Bericht 0% gewijzigd door #ANONIEM op 15-03-2015 09:07:53 ]
  zondag 15 maart 2015 @ 09:17:58 #133
91039 mstx
2x1/2 = 1/2 x 1/2
pi_150655399
quote:
1s.gif Op zondag 15 maart 2015 09:07 schreef robin007bond het volgende:

[..]

:{
Bij de meeste frameworks wordt dat zelfs aangeraden in de coding conventions, zoals bij Zend:
quote:
When using this latter declaration, we encourage using a trailing comma for the last item in the array; this minimizes the impact of adding new items on successive lines, and helps to ensure no parse errors occur due to a missing comma.
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_150655440
quote:
1s.gif Op zondag 15 maart 2015 09:17 schreef mstx het volgende:

[..]

Bij de meeste frameworks wordt dat zelfs aangeraden in de coding conventions, zoals bij Zend:

[..]

Dat vind ik echt een beetje dubieus. Bij een komma hoort gewoon een volgend element, anders doe je geen komma.

Maar goed, kwestie van stijl. Ik vind het enorm lelijk.
pi_150656196
quote:
1s.gif Op zondag 15 maart 2015 09:21 schreef robin007bond het volgende:

[..]

Dat vind ik echt een beetje dubieus. Bij een komma hoort gewoon een volgend element, anders doe je geen komma.

Maar goed, kwestie van stijl. Ik vind het enorm lelijk.
Vooral dat laatste. Wat hierbij van belang is dat je consistent bent. Zowel mijn als jouw aanpak is niet fout. Dit geldt hetzelfde als lower/upper camelcase. Persoonlijk vind ik lower camelcase bij functies buurt lelijk, maar bij variabelen heb ik er totaal geen probeem mee. Zo heb ik mijn style van programmeren en anderen kunnen hier een andere mening over hebben, maar zoals ik eerder aangaf consistentie is hierbij het belangrijkste.
  zondag 15 maart 2015 @ 13:49:43 #136
118585 Crutch
Filantroop || Taalzwengel
pi_150660961
Post gewoon het stukje waarin je de array wil sorteren o.i.d.
Wat jij wil kan op honderd manieren, maar het zal erg helpen als we een aantal regels code kunnen kunnen zien waarin je het probeert.

Daarbij maakt het mij echt geen shit uit hoe prutserig, knullig of omslachtig je het probeert, laat ons je er gewoon mee helpen.
Je moeder is een hamster
pi_150662886
quote:
1s.gif Op zondag 15 maart 2015 09:21 schreef robin007bond het volgende:

[..]

Dat vind ik echt een beetje dubieus. Bij een komma hoort gewoon een volgend element, anders doe je geen komma.

Maar goed, kwestie van stijl. Ik vind het enorm lelijk.
:P Het is lekker makkelijk, als er wat bij moet komen is het control+d op die lijn, en de index/waarde aanpassen en gaan.
  zondag 15 maart 2015 @ 15:51:32 #138
118585 Crutch
Filantroop || Taalzwengel
pi_150665357
quote:
1s.gif Op zondag 15 maart 2015 09:21 schreef robin007bond het volgende:

[..]

Dat vind ik echt een beetje dubieus. Bij een komma hoort gewoon een volgend element, anders doe je geen komma.

Maar goed, kwestie van stijl. Ik vind het enorm lelijk.
Ik vind het ook lelijk. Daarnaast ook verwarrend.
Eigenlijk zou dit ook helemaal niet mogelijk moeten zijn; zelfs javascript (ook niet strict) laat het niet toe.

Als ik het tegenkom haal ik 't ook gewoon weg.
Je moeder is een hamster
pi_150665769
quote:
0s.gif Op zondag 15 maart 2015 15:51 schreef Crutch het volgende:

[..]

Ik vind het ook lelijk. Daarnaast ook verwarrend.
Eigenlijk zou dit ook helemaal niet mogelijk moeten zijn; zelfs javascript (ook niet strict) laat het niet toe.

Als ik het tegenkom haal ik 't ook gewoon weg.
Het is verwarrend inderdaad, naar mijn mening.

Volgens mij is PHP de enige programmeertaal die dit toestaat.
  zondag 15 maart 2015 @ 16:14:19 #140
12221 Tijn
Powered by MS Paint
pi_150666394
quote:
0s.gif Op zondag 15 maart 2015 16:00 schreef robin007bond het volgende:

[..]

Het is verwarrend inderdaad, naar mijn mening.

Volgens mij is PHP de enige programmeertaal die dit toestaat.
Nee hoor, in Javascript is het ook geen probleem.

1
2
var array = [1, 2, 3, 4,];
var object = {'foo': 'bar', 'herp':'derp',};

Dit werkt gewoon :)
  zondag 15 maart 2015 @ 16:33:06 #141
118585 Crutch
Filantroop || Taalzwengel
pi_150667048
Oh god, is het heus? :'(

Ik kan hier niet mee omgaan. :'( :'( :'( :'(
Je moeder is een hamster
pi_150667080
quote:
0s.gif Op zondag 15 maart 2015 16:33 schreef Crutch het volgende:
Oh god, is het heus? :'(

Ik kan hier niet mee omgaan. :'( :'( :'( :'(
pi_150667345
Gewoon fatsoenlijke programmeertalen gebruiken.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
  zondag 15 maart 2015 @ 16:45:28 #144
91039 mstx
2x1/2 = 1/2 x 1/2
pi_150667470
quote:
0s.gif Op zondag 15 maart 2015 16:42 schreef Monolith het volgende:
Gewoon fatsoenlijke programmeertalen gebruiken.




:W

[ Bericht 6% gewijzigd door mstx op 15-03-2015 16:58:13 ]
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.
👾
  zondag 15 maart 2015 @ 16:45:46 #145
12221 Tijn
Powered by MS Paint
pi_150667484
quote:
0s.gif Op zondag 15 maart 2015 16:33 schreef Crutch het volgende:
Oh god, is het heus? :'(

Ik kan hier niet mee omgaan. :'( :'( :'( :'(
Het is geen valide JSON, dat scheelt misschien een beetje :+
  zondag 15 maart 2015 @ 17:00:54 #146
12221 Tijn
Powered by MS Paint
pi_150668019
quote:
0s.gif Op zondag 15 maart 2015 16:42 schreef Monolith het volgende:
Gewoon fatsoenlijke programmeertalen gebruiken.
Welke stel je voor?
pi_150668046
quote:
6s.gif Op zondag 15 maart 2015 17:00 schreef Tijn het volgende:

[..]

Welke stel je voor?
Clojure.
pi_150668081
quote:
10s.gif Op zondag 15 maart 2015 16:45 schreef mstx het volgende:

[..]

[ afbeelding ]

[ afbeelding ]

:W
Welke talen zijn dat? Ik heb wel een vermoeden, maar weet het niet geheel zeker.
pi_150668086
quote:
6s.gif Op zondag 15 maart 2015 17:00 schreef Tijn het volgende:

[..]

Welke stel je voor?
Scala.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
  zondag 15 maart 2015 @ 17:13:33 #150
91039 mstx
2x1/2 = 1/2 x 1/2
pi_150668451
quote:
0s.gif Op zondag 15 maart 2015 17:02 schreef Robuustheid het volgende:

[..]

Welke talen zijn dat? Ik heb wel een vermoeden, maar weet het niet geheel zeker.
C# en C++
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_150668751
quote:
0s.gif Op zondag 15 maart 2015 17:13 schreef mstx het volgende:

[..]

C# en C++
Geeft de compiler ook geen warnings?
pi_150668886
quote:
10s.gif Op zondag 15 maart 2015 16:45 schreef mstx het volgende:

[..]

[ afbeelding ]

[ afbeelding ]

:W
Oh dat is niet de reden dat JavaScript, maar vooral PHP zulke beroerde talen zijn hoor.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_150669306
quote:
0s.gif Op zondag 15 maart 2015 17:13 schreef mstx het volgende:

[..]

C# en C++
In C met GCC en -Wall wordt er ook geen foutmelding weergeven. :o
pi_150671840
Ik vind die komma aan het einde van een array ideaal! Als 'ie ontbreekt voeg ik hem juist vaak toe. En ik vind het ook moeilijk irritant dat je 'm in SQL niet mag plaatsen.

Het maakt het uitbreiden van arrays een stuk makkelijker en de kans dat je een syntax error krijgt omdat je een komma vergeten bent in de regel boven de regel die je toegevoegd hebt, veel kleiner.
pi_150673760
Dat kan ik echt niet bevatten. Het is voor mij echt... Onbegrijpelijk.

:{
pi_150674614
quote:
1s.gif Op zondag 15 maart 2015 17:26 schreef Monolith het volgende:

[..]

Oh dat is niet de reden dat JavaScript, maar vooral PHP zulke beroerde talen zijn hoor.
Beste van twee werelden door Nederlands bedrijf :+
http://www.php-cpp.com
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
  zondag 15 maart 2015 @ 20:24:07 #157
187069 slacker_nl
Sicko pur sang
pi_150674754
Ow ja, en in JSON mag je geen single quotes gebruiken en mag je ook geen trailing , gebruiken. HAAAAAAT (idem voor SQL, haaaaat). Trailing comma == bliss,
In theory there is no difference between theory and practice. In practice there is.
pi_150675075
quote:
14s.gif Op zondag 15 maart 2015 18:54 schreef KomtTijd... het volgende:
Ik vind die komma aan het einde van een array ideaal! Als 'ie ontbreekt voeg ik hem juist vaak toe. En ik vind het ook moeilijk irritant dat je 'm in SQL niet mag plaatsen.

Het maakt het uitbreiden van arrays een stuk makkelijker en de kans dat je een syntax error krijgt omdat je een komma vergeten bent in de regel boven de regel die je toegevoegd hebt, veel kleiner.
Bijkomend voordeel is dat je diffs kleiner blijven omdat je geen regel wijzigt door er alleen een komma aan toe te voegen als je een extra regel aan de array wilt toevoegen. En, zeker als je met een groter team werkt, is het wel handig dat git blame de juiste persoon bij en de juiste reden van een wijziging laat zien.
  zondag 15 maart 2015 @ 20:39:36 #159
12221 Tijn
Powered by MS Paint
pi_150675620
quote:
0s.gif Op zondag 15 maart 2015 20:24 schreef slacker_nl het volgende:
Ow ja, en in JSON mag je geen single quotes gebruiken en mag je ook geen trailing , gebruiken. HAAAAAAT (idem voor SQL, haaaaat). Trailing comma == bliss,
Zit je zo vaak handmatig JSON-files te schrijven, dan? :?
  zondag 15 maart 2015 @ 20:42:28 #160
187069 slacker_nl
Sicko pur sang
pi_150675781
quote:
5s.gif Op zondag 15 maart 2015 20:39 schreef Tijn het volgende:

[..]

Zit je zo vaak handmatig JSON-files te schrijven, dan? :?
Ja, chef data bag files zijn JSON.
In theory there is no difference between theory and practice. In practice there is.
pi_150675831
quote:
5s.gif Op zondag 15 maart 2015 20:39 schreef Tijn het volgende:

[..]

Zit je zo vaak handmatig JSON-files te schrijven, dan? :?
als je je API zit te testen wil dat best nog wel eens voorkomen ja. Maar van JSON waardeer ik het wel weer dat het flink strict is, voor een transport protocol heeft dat absoluut voordelen.
pi_150675899
quote:
0s.gif Op zondag 15 maart 2015 20:24 schreef slacker_nl het volgende:
Ow ja, en in JSON mag je geen single quotes gebruiken en mag je ook geen trailing , gebruiken. HAAAAAAT (idem voor SQL, haaaaat). Trailing comma == bliss,
Gewoon terecht. Die trailing komma is voor mensen met een komma-fetish.

Plus het gaat me om het principe dat het een scheidingsteken is voor elementen. Je gaat toch ook niet achter parameters een extra komma zetten voor het geval de methode een extra parameter krijgt?

[ Bericht 5% gewijzigd door #ANONIEM op 15-03-2015 20:57:33 ]
pi_150676087
quote:
14s.gif Op zondag 15 maart 2015 20:43 schreef KomtTijd... het volgende:

[..]

als je je API zit te testen wil dat best nog wel eens voorkomen ja. Maar van JSON waardeer ik het wel weer dat het flink strict is, voor een transport protocol heeft dat absoluut voordelen.
Het is een data format, geen transport protocol.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
  zondag 15 maart 2015 @ 20:52:05 #164
187069 slacker_nl
Sicko pur sang
pi_150676323
quote:
1s.gif Op zondag 15 maart 2015 20:44 schreef robin007bond het volgende:
[ afbeelding ] Op zondag 15 maart 2015 20:24 schreef slacker_nl het volgende:
Ow ja, en in JSON mag je geen single quotes gebruiken en mag je ook geen trailing , gebruiken. HAAAAAAT (idem voor SQL, haaaaat). Trailing comma == bliss,
Gewoon terecht. Die trailing komma is voor mensen met een komma-fetish.

Plus het gaat me om het principe dat het een scheidingsteken is voor elementen. Je gaat toch ook niet achter parameters een extra komma zetten voor het geval de methode een extra parameter krijgt?
[/quote]

jawel.

Ik heb regelmatig:
1
2
3
4
5
6
7
8
9
10
XXX::Foo->new(
    foo => bar, 
);

of 

XXX::Foo->new(
    foo => bar, 
    baz => fubar,
);

Plus als ik alles ga sorten en zulks, breekt er niks omdat de komma plots verdwenen is midden in m'n lijst.
In theory there is no difference between theory and practice. In practice there is.
pi_150676661
quote:
1s.gif Op zondag 15 maart 2015 20:48 schreef Monolith het volgende:

[..]

Het is een data format, geen transport protocol.
Inderdaad. HTTP is een transport protocol, maar JSON niet.
pi_150677072
quote:
1s.gif Op zondag 15 maart 2015 20:48 schreef Monolith het volgende:

[..]

Het is een data format, geen transport protocol.
Je hebt gelijk maar je begrijpt wat ik bedoel :P
pi_150677483
quote:
14s.gif Op zondag 15 maart 2015 21:04 schreef KomtTijd... het volgende:

[..]

Je hebt gelijk maar je begrijpt wat ik bedoel :P
Natuurlijk begrijp ik dat, maar op zich maakt het niet zoveel uit of je nou wel of niet dat soort constructies toestaat. Als de specs maar duidelijk en ondubbelzinnig zijn.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_150677888
quote:
0s.gif Op zondag 15 maart 2015 20:52 schreef slacker_nl het volgende:

[..]

Ik heb regelmatig:
[ code verwijderd ]

Plus als ik alles ga sorten en zulks, breekt er niks omdat de komma plots verdwenen is midden in m'n lijst.
Oh, ik bedoelde niet als je een array meegeeft als parameter van een functie (de vraag is alleen of je niet liever een object meegeeft in plaats van een array, maar dat terzijde). De builder-pattern vind ik eerlijk gezegd geschikter dan een functie maken die allerlei config-opties vereist in een array.

Maar ik bedoelde meer dus dit:

1
2
function blabla(x, y,) {
}

Jij zou dat ook echt zo doen? :o
pi_150678313
quote:
1s.gif Op zondag 15 maart 2015 21:11 schreef Monolith het volgende:

[..]

Natuurlijk begrijp ik dat, maar op zich maakt het niet zoveel uit of je nou wel of niet dat soort constructies toestaat. Als de specs maar duidelijk en ondubbelzinnig zijn.
Meh, dan krijg je weer dat parsers foutcorrectie gaan doen enzo en protocollen die onterecht rekenen op die foutcorrectie en wordt de boel allemaal omslachtiger en trager. JSON is juist zo lekker lean en efficiënt, houden zo. Heb volgens mij ooit ergens gelezen dat de JSON_ functies van PHP sneller zijn dan haar eigen serialize() en unsereialize().
pi_150678403
Over JSON in PHP gesproken. Als je een klasse wil serializen naar JSON, dan moeten de properties per se public zijn, want anders worden ze niet in de JSON opgenomen. :')
pi_150678554
quote:
0s.gif Op zondag 15 maart 2015 21:32 schreef robin007bond het volgende:
Over JSON in PHP gesproken. Als je een klasse wil serializen naar JSON, dan moeten de properties per se public zijn, want anders worden ze niet in de JSON opgenomen. :')
Een class serializen? Neem aan dat je een object bedoelt. En ja dat lijkt me nogal logisch toch? Waarom zou je ooit een private property willen exporteren? Als dat de bedoeling is kan het haast niet de bedoeling zijn dat die property private is.
pi_150678620
quote:
1s.gif Op zondag 15 maart 2015 21:35 schreef KomtTijd... het volgende:

[..]

Een class serializen? Neem aan dat je een object bedoelt. En ja dat lijkt me nogal logisch toch? Waarom zou je ooit een private property willen exporteren? Als dat de bedoeling is kan het haast niet de bedoeling zijn dat die property private is.
Uiteraard bedoel ik een object.

Maar dat vind ik niet heel logisch. Het is namelijk goed gebruik dat je accessor-methodes gebruikt voor velden in plaats van de variabelen public te maken.
pi_150679051
Sja dan wordt het sowieso een moeilijk verhaal want dan wil je ook dat eventuele logica in de accessors uitgevoerd wordt. Als je ingewikkelder objecten wilt serializen kun je beter een wat geavanceerde de serializer library gebruiken zoals jms.
pi_150681747
quote:
0s.gif Op zondag 15 maart 2015 21:32 schreef robin007bond het volgende:
Over JSON in PHP gesproken. Als je een klasse wil serializen naar JSON, dan moeten de properties per se public zijn, want anders worden ze niet in de JSON opgenomen. :')
Nee hoor. Als die class de interface JsonSerializable implementeert (en dus een functie jsonSerialize moet hebben) kan de class perfect zelf bepalen wat er wel en hoe naar json omgezet moet worden.
pi_150681982
quote:
14s.gif Op zondag 15 maart 2015 21:45 schreef KomtTijd... het volgende:
Sja dan wordt het sowieso een moeilijk verhaal want dan wil je ook dat eventuele logica in de accessors uitgevoerd wordt. Als je ingewikkelder objecten wilt serializen kun je beter een wat geavanceerde de serializer library gebruiken zoals jms.
Valt wel mee. Vaak worden de Javabeans conventies gebruikt.
In Java heb je bovendien nog weer transient voor zaken die niet geserialized moeten worden.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_150690613
MySQL 5.7: InnoDB Intrinsic Tables
The MySQL Optimizer sometimes needs a temporary data-store during query processing, for storing intermediate results. Before MySQL 5.7, this need was serviced exclusively using a combination of the HEAP/MEMORY storage engine (for smaller tables) and the MyISAM storage engine (for larger tables). You can find more information on when disk based temporary tables (MyISAM or InnoDB) are used instead of MEMORY tables here.

The InnoDB storage engine has been the default engine used for user tables since MySQL 5.6, but MyISAM was still used for internal disk based temporary tables (for some related notes, see this excellent blog post by Jaime Crespo). This legacy behavior lead to many headaches, both for our users and for our developers. For example, see Stewart Smith’s excellent write up on some of the related problems. In order to address the related issues in MySQL 5.7, we’ve had to do a lot of work within both InnoDB and the Optimizer to lay the groundwork for what we’ll talk about next. You can read about all of the related 5.7 work leading up to this point here.

Optimizer Switches to InnoDB Instrinsic Tables
InnoDB is our MVCC ACID compliant storage engine, and as part of our larger effort to decouple the MyISAM storage engine from MySQL itself so that it becomes an optional engine, starting with MySQL 5.7.6 InnoDB is now the default storage engine used for internal disk based temporary tables. The engine used can be controlled using the new internal_tmp_disk_storage_engine server option.

In our efforts to make this change in MySQL 5.7.6, we have made changes to InnoDB so that it performs as good or better (often far better) than MyISAM when used for internal disk based temporary tables. To fulfill this use-case, we created a new type of table within InnoDB called intrinsic tables, which have relaxed MVCC and ACID semantics. These tables are a special type of temporary InnoDB table that do not perform any UNDO or REDO logging (REDO logging is disabled for all temporary InnoDB tables). As the name suggests, these tables are meant for internal use only and thus can only be used by an internal MySQL module such as the Optimizer. In other words, end-users will not be able to explicitly create these new types of tables (they are also not visible in the innodb_temp_table_info table). We will, however, leverage this new type of table for future end-user focused work. So stay tuned!

[…]


When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
  maandag 16 maart 2015 @ 11:24:39 #177
187069 slacker_nl
Sicko pur sang
pi_150690913
quote:
0s.gif Op zondag 15 maart 2015 21:21 schreef robin007bond het volgende:

[..]

Oh, ik bedoelde niet als je een array meegeeft als parameter van een functie (de vraag is alleen of je niet liever een object meegeeft in plaats van een array, maar dat terzijde). De builder-pattern vind ik eerlijk gezegd geschikter dan een functie maken die allerlei config-opties vereist in een array.

Maar ik bedoelde meer dus dit:
[ code verwijderd ]

Jij zou dat ook echt zo doen? :o
Of je nou named parameters of niet gebruikt, maakt niet uit of je wel/geen objecten gebruikt in je calls.

Maar in functies heb ik die stijl niet nodig, in perl kan je het zo doen:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
sub foo {
    my ($self, $foo, $bar, undef, $baz,) = @_;
}

$self->foo($foo, $bar, 'Ignore me', $object->baz);

# Deze is ook wel fijn
sub foo {
    my $self = shift;
    my %named = @_;
}

$self->foo(
    foo => $foo_object,
    baz => $baz_object,
);
In theory there is no difference between theory and practice. In practice there is.
pi_150698573
Wellicht is hier iemand die me kan helpen.

Ik werk via MS Acces met een Databank. Sinds kort heb ik beetje kennis van SQL, maar hier kom ik even niet uit. Ik heb een tabel met daarin een datum, ik wil graag 2 maanden bij deze datum optellen. Ik kom op internet alleen de DateAdd functie tegen, maar op de een of andere manier werkt het niet.

Ik heb het volgende ingevoerd:

DateAdd("m",2, [ Date ] )

Acces geeft de foutcode: De syntax van de expressie die u hebt opgegeven, is ongeldig. Er ontbreekt een operand of operator, u hebt een ongeldig teken of ongeldige komma opgegeven of u hebt de tekst in de expressie niet tussen aanhalingstekens geplaatst.
  maandag 16 maart 2015 @ 16:43:26 #179
187069 slacker_nl
Sicko pur sang
pi_150702421
quote:
0s.gif Op maandag 16 maart 2015 15:04 schreef Crohnjurist het volgende:
DateAdd("m",2, [ Date ] )
denk dat dit het moet zijn:
1DateAdd("m", 2,  [Date]) 

Volgens mij pikt ie de spaties rond "Date" niet.
In theory there is no difference between theory and practice. In practice there is.
pi_150727100
quote:
0s.gif Op maandag 16 maart 2015 16:43 schreef slacker_nl het volgende:

[..]

denk dat dit het moet zijn:
[ code verwijderd ]

Volgens mij pikt ie de spaties rond "Date" niet.
Nee, sorry, ik had die spaties alleen hier toegevoegd, omdat het anders niet zichtbaar is op fok!..

Maar het werkt dus nog steeds niet, nog een ander idee hoe ik twee maanden kan toevoegen? Misschien een andere functie ipv DateAdd?
  dinsdag 17 maart 2015 @ 10:02:31 #181
187069 slacker_nl
Sicko pur sang
pi_150727268
quote:
0s.gif Op dinsdag 17 maart 2015 09:57 schreef Crohnjurist het volgende:

[..]

Nee, sorry, ik had die spaties alleen hier toegevoegd, omdat het anders niet zichtbaar is op fok!..

Maar het werkt dus nog steeds niet, nog een ander idee hoe ik twee maanden kan toevoegen? Misschien een andere functie ipv DateAdd?
Nope, ik doe niet aan Access (het is ook wat offtopic voor dit topic overigens).
In theory there is no difference between theory and practice. In practice there is.
pi_150727320
quote:
0s.gif Op dinsdag 17 maart 2015 10:02 schreef slacker_nl het volgende:

[..]

Nope, ik doe niet aan Access (het is ook wat offtopic voor dit topic overigens).
Jammer! Nee dat begreep ik al, maar aangezien dit het dichtst in de buurt komt qua topic wat er al is, dacht ik ik vraag het maar gewoon even, voor hetzelfde geld had iemand het wel geweten ;)
pi_150733619
quote:
14s.gif Op zondag 15 maart 2015 16:14 schreef Tijn het volgende:

[..]

Nee hoor, in Javascript is het ook geen probleem.
[ code verwijderd ]

Dit werkt gewoon :)
Heb hier eerder ook een issue mee gehad, oudere versies van IE vinden het niet leuk, nieuwere vallen hier niet over.
Trailing comma is recent in JS toegestaan als ik het goed is.


Edit: ok, spuit elf met een late reactie :@

[ Bericht 8% gewijzigd door Darkomen op 17-03-2015 14:06:06 ]
pi_150733818
quote:
0s.gif Op dinsdag 17 maart 2015 09:57 schreef Crohnjurist het volgende:

[..]

Nee, sorry, ik had die spaties alleen hier toegevoegd, omdat het anders niet zichtbaar is op fok!..

Maar het werkt dus nog steeds niet, nog een ander idee hoe ik twee maanden kan toevoegen? Misschien een andere functie ipv DateAdd?
Moeten het niet single quotes zijn voor de maand aanduiding, dus 'm' in plaats van "m"?
Verder neem ik aan dat je een veld genaamd Date hebt en dat daar altijd een geldige datumwaarde in zit?
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_150734108
quote:
0s.gif Op dinsdag 17 maart 2015 10:03 schreef Crohnjurist het volgende:

[..]

Jammer! Nee dat begreep ik al, maar aangezien dit het dichtst in de buurt komt qua topic wat er al is, dacht ik ik vraag het maar gewoon even, voor hetzelfde geld had iemand het wel geweten ;)
Mwah, t is wel redelijk specifieke access syntax waar je problemen mee hebt. Ik zou een topic openen of kijken of het in een algemeen MS Office topic kan (als die er is)
pi_150734505
quote:
0s.gif Op dinsdag 17 maart 2015 13:51 schreef Monolith het volgende:

[..]

Moeten het niet single quotes zijn voor de maand aanduiding, dus 'm' in plaats van "m"?
Verder neem ik aan dat je een veld genaamd Date hebt en dat daar altijd een geldige datumwaarde in zit?
Mmm ik denk dat dat het probleem is, het veld genaamd Date is niet altijd ingevuld. Maar voor de dossiers die wel ingevuld zijn probeer ik dus twee maanden erbij te krijgen. Dit is dus niet mogelijk?
pi_150735010
quote:
0s.gif Op dinsdag 17 maart 2015 14:11 schreef Crohnjurist het volgende:

[..]

Mmm ik denk dat dat het probleem is, het veld genaamd Date is niet altijd ingevuld. Maar voor de dossiers die wel ingevuld zijn probeer ik dus twee maanden erbij te krijgen. Dit is dus niet mogelijk?
Je kunt vast een 'doe dit alleen als het veld niet leeg is' constructie hanteren, maar ik heb echt al meer dan 10 jaar niets met Access gedaan, dus dat zou ik niet direct weten.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_150735451
quote:
0s.gif Op dinsdag 17 maart 2015 14:29 schreef Monolith het volgende:

[..]

Je kunt vast een 'doe dit alleen als het veld niet leeg is' constructie hanteren, maar ik heb echt al meer dan 10 jaar niets met Access gedaan, dus dat zou ik niet direct weten.
Haha oké, in ieder geval bedankt tot zover!
  woensdag 18 maart 2015 @ 12:46:13 #189
230788 n8n
Pragmatisch
pi_150770207
werkt zoiets met php (en zo ja, wat is de juiste markup)?

$var = ( isset( $this-when-true ) : $or-else );
Specialization is for insects”.—Robert Heinlein
pi_150770324
quote:
7s.gif Op woensdag 18 maart 2015 12:46 schreef n8n het volgende:
werkt zoiets met php (en zo ja, wat is de juiste markup)?

$var = ( isset( $this-when-true ) : $or-else );
1$var = ( isset($test-variable) ? $this-when-true : $or-else );
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
  woensdag 18 maart 2015 @ 12:57:06 #191
230788 n8n
Pragmatisch
pi_150770592
quote:
0s.gif Op woensdag 18 maart 2015 12:49 schreef Rockfire het volgende:

[..]
[ code verwijderd ]

$var = ( isset($this-when-true) ? $this-when-true : $or-else );

Zou zo zijn dan, is ook wat ik nu heb, ik hoopte dat het nog korter (droger) kon omdat ik het zo zinloos vind om eerst te checken of iets bestaat en dan apart de inhoud toe te wijzen. Mooier zou zijn als je $var = ( $this-when-true || false ); kon doen zonder dat php over z'n nek gaat omdat de variable niet bestaat.

Bedankt in elk geval, mysterie opgelost, kan ik weer verder
Specialization is for insects”.—Robert Heinlein
pi_150771378
quote:
14s.gif Op woensdag 18 maart 2015 12:57 schreef n8n het volgende:

[..]

$var = ( isset($this-when-true) ? $this-when-true : $or-else );

Zou zo zijn dan, is ook wat ik nu heb, ik hoopte dat het nog korter (droger) kon omdat ik het zo zinloos vind om eerst te checken of iets bestaat en dan apart de inhoud toe te wijzen. Mooier zou zijn als je $var = ( $this-when-true || false ); kon doen zonder dat php over z'n nek gaat omdat de variable niet bestaat.

Bedankt in elk geval, mysterie opgelost, kan ik weer verder
Veel korter dan een ternary operator krijg je een if-then-else statement niet. 'this-when-true' slaat ook niet ergens op. Wat je eigenlijk wilt is een 'default-if-null'-constructie.
Als je dat echt kort wilt, dan maak je er toch gewoon een functie van, zodat je $var = defaultIfNotSet(originalValue, defaultValue) kan hanteren?
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
  woensdag 18 maart 2015 @ 13:30:23 #193
91039 mstx
2x1/2 = 1/2 x 1/2
pi_150771693
quote:
0s.gif Op woensdag 18 maart 2015 13:21 schreef Monolith het volgende:
Als je dat echt kort wilt, dan maak je er toch gewoon een functie van, zodat je $var = defaultIfNotSet(originalValue, defaultValue) kan hanteren?
Volgens mij krijg je dan alsnog een notice als je een niet-gedefinieerde variabele aan die functie meegeeft.
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_150772003
quote:
0s.gif Op woensdag 18 maart 2015 13:30 schreef mstx het volgende:

[..]

Volgens mij krijg je dan alsnog een notice als je een niet-gedefinieerde variabele aan die functie meegeeft.
Dat wel ja, maar ik weet niet of het erg is.
Het geeft wel weer aan hoe enorm slecht PHP in elkaar steekt. :')
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
  woensdag 18 maart 2015 @ 13:42:15 #195
91039 mstx
2x1/2 = 1/2 x 1/2
pi_150772134
quote:
0s.gif Op woensdag 18 maart 2015 13:38 schreef Monolith het volgende:

[..]

Dat wel ja, maar ik weet niet of het erg is.
Het geeft wel weer aan hoe enorm slecht PHP in elkaar steekt. :')
Wat is er precies slecht aan?
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_150772462
quote:
0s.gif Op woensdag 18 maart 2015 13:42 schreef mstx het volgende:

[..]

Wat is er precies slecht aan?
Het feit dat isset een functie is als elke andere. Echter, impliciet zit erin verborgen dat een notice wordt onderdrukt op het moment dat je een ongedefinieerde variabele als parameter aan deze specifieke functie meegeeft. Als je dit per se op deze manier wilt doen, dan moet je er een language construct van maken, geen functie met verborgen bij-effecten.
Ik ben sowieso al geen voorstander van het idee dat je variabelen kunt hanteren zonder dat je überhaupt weet of ze gedeclareerd zijn (los van de vraag of ze een waarde hebben), maar dat is een langslepend gevolg van het feit dat PHP van oorsprong een simpel scripttaaltje was met allerlei brakke globals.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_150773344
Vanaf PHP 5.3 kun je ook gebruiken:
$var = $this-when-true ?: $or-else;


[ Bericht 33% gewijzigd door Aether op 18-03-2015 14:14:18 ]
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
pi_150773500
quote:
0s.gif Op woensdag 18 maart 2015 13:49 schreef Monolith het volgende:

[..]

Het feit dat isset een functie is als elke andere. Echter, impliciet zit erin verborgen dat een notice wordt onderdrukt op het moment dat je een ongedefinieerde variabele als parameter aan deze specifieke functie meegeeft. Als je dit per se op deze manier wilt doen, dan moet je er een language construct van maken, geen functie met verborgen bij-effecten.
Ik ben sowieso al geen voorstander van het idee dat je variabelen kunt hanteren zonder dat je überhaupt weet of ze gedeclareerd zijn (los van de vraag of ze een waarde hebben), maar dat is een langslepend gevolg van het feit dat PHP van oorsprong een simpel scripttaaltje was met allerlei brakke globals.
:? Isset() ís een language construct.
pi_150773908
quote:
1s.gif Op woensdag 18 maart 2015 14:12 schreef KomtTijd... het volgende:

[..]

:? Isset() ís een language construct.
Oh ja, dat klopt. Het staat alleen in de docs onder 'variable handling function'.
Maar dan nog is het feit dat er een notice is voor het gebruik van niet gedefinieerde variabelen, die enkel wordt onderdrukt in dit soort constructs of als expliciet @$var in de defaultIfNotSet call natuurlijk.

[ Bericht 14% gewijzigd door Monolith op 18-03-2015 14:31:42 ]
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
  woensdag 18 maart 2015 @ 14:40:01 #200
12221 Tijn
Powered by MS Paint
pi_150774507
quote:
0s.gif Op woensdag 18 maart 2015 14:23 schreef Monolith het volgende:

[..]

Maar dan nog is het feit dat er een notice is voor het gebruik van niet gedefinieerde variabelen
Dat is erg? :?
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')