abonnement Unibet Coolblue Bitvavo
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?
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')