abonnement Unibet Coolblue
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... :{
Just say hi!
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 :?
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')