abonnement Unibet Coolblue Bitvavo
pi_153815696
quote:
1s.gif Op woensdag 24 juni 2015 19:55 schreef robin007bond het volgende:
Bij openbare repositories, hoe doen jullie dat met databases? Gewoon de config waar de passwords instaan niet committen? :@
https://github.com/vlucas/phpdotenv
pi_153822005
quote:
0s.gif Op woensdag 24 juni 2015 12:15 schreef zarGon het volgende:

[..]
Hoe kan ik ervoor zorgen dat-ie een subsite (Forum, Frontpage) alleen uitvoert als er records zijn? Probleem nu is dat ik voor elke subsite 400 pixels reserveer op regel 54 (dus 2 subsites = 800 pixels), terwijl de SQL-query slechts 1 subsite bevat. (Is het te volgen?)

Voorbeeld: http://fokcrew.nl/user/151187. Frontpage bevat geen records, maar wordt alsnog getoond. (Ik heb geloof ik 6 subsites, dus dat worden vele lege ruimtes.)
Eerst alle rows inlezen en dan checken of de array leeg is.
1
2
3
4
5
6
foreach(array('Forum', 'Frontpage') as $subsite) {
    $stmt->execute(array($subsite,$id)); 
    $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
    if (empty($rows)) {
        continue;
    }

en de while naar foreach($rows as $row).
pi_153824402
quote:
1s.gif Op woensdag 24 juni 2015 19:55 schreef robin007bond het volgende:
Bij openbare repositories, hoe doen jullie dat met databases? Gewoon de config waar de passwords instaan niet committen? :@
Het beste is natuurlijk om je database connectie op basis van locale gebruiksrechten te doen, en niet met een username password.
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
pi_153831992
quote:
0s.gif Op donderdag 25 juni 2015 01:17 schreef paulb_nl het volgende:

[..]

Eerst alle rows inlezen en dan checken of de array leeg is.
[ code verwijderd ]

en de while naar foreach($rows as $row).
Geprobeerd, ik zag niets verschijnen op het scherm. Voor zover ik zag geen foutmeldingen.

Na de hulp van een andere FOK!ker heb ik deze code (ongeveer hetzelfde als wat jij doet geloof ik):
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<?php
try {
    require(
'config.php'); 
    
    
$con= new PDO"mysql:host=" $settings["dbserver"] . ";dbname=" $settings["dbname"], $settings["dbuser"], $settings["dbpass"]);  
    
$sql="SELECT
                  @curRank := @curRank + 1 AS Rank  
                , UnitDays.UserID
                , UnitDays.UserName
                , UnitDays.Subsite
                , UnitDays.Unit
                , UnitDays.FirstStartdate
                , UnitDays.NrOfUniqueDays
                , CASE WHEN UnitDays.Subsite = ? THEN 'Yes' ELSE 'No' END IsDisplayed
            FROM (SELECT
                      UserID
                    , UserName
                    , Subsite
                    , Unit
                    , FirstStartdate
                    , NrOfUniqueDays
                FROM UnitDays
                ORDER By UnitDays.FirstStartdate) UnitDays
            JOIN (SELECT @curRank := 0) r
            WHERE UnitDays.UserID = ?
            "

        
    
$stmt $con->prepare($sql);

    
// een closure functie, zodat $stmt automatisch beschikbaar is binnen de functie
    
$fetchAll = function ($subsite$id) use ($stmt) {
        
$results = [];
        
$stmt->execute(array($subsite$id)); 
   
        while(
$row $stmt->fetch(PDO::FETCH_ASSOC)) {  
            
$results[] = $row
        }
   
        return 
$results;
    };

    foreach (array(
'Forum''Frontpage''FOK!''Games''Sport''Weblog') as $subsite) {
        
$results $fetchAll(array($subsite,$id)); 
        
$countRecord 0;

        
// ga door naar volgende subsite indien geen resultaten (lege array)
        
if (!$results) {
              continue;
        }

        echo 
'<script type="text/javascript">';
        echo 
'google.load("visualization", "1", {packages:["corechart"]});';
        echo 
'google.setOnLoadCallback(drawChart);';
        echo 
'function drawChart() {';
        
        echo 
'var data = google.visualization.arrayToDataTable([';
        echo 
"['Functie', 'Dagen'],['', ''], ['',''],";    
            if (
$SelectedID == 41894 OR $SelectedID == 372780) { echo "['',''], "; } // 99.999 == du_ke
     
        // loop over resultaten met dezelfde logica als voorheen in je while loop
        
foreach ($results as $row) {
            ++
$countRecord;
            if (
$row['IsDisplayed'] == 'Yes') { 
                echo 
"['" $row['Unit'] . "', " $row['NrOfUniqueDays'] . "]"
            } else { 
                echo 
"['','']"
            }

            if (
$countRecord !== $row['Rank']) { 
                echo 
","
            }    
        }
 
        echo 
']);';
        
        echo 
'var chart = new google.visualization.PieChart(document.getElementById("' $subsite '"));';
        echo 
"var options = { title: 'Subsite: " $subsite "', sliceVisibilityThreshold: .00001, backgroundColor: 'transparent', tooltip: {showColorCode: true, textStyle: { color: 'black'}} };";
        echo 
'chart.draw(data, options);';
        echo 
'}';
        echo 
'</script>';
        echo 
'<div class="piechart" id="' $subsite '" style="width: 100%; height:400px;"></div>';
        
    }
}    

// Error handeling
catch(PDOException $e) {
    echo 
'<pre>';
    echo 
'Regel: '.$e->getLine(). '<br />';
    echo 
'Bestand: '.$e->getFile(). '<br />'
    echo 
'Foutmelding: '.$e->getMessage();
    echo 
'</pre>'
}    
?>

Maar dit geeft een foutmelding:
SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Voorbeeld: http://fokcrew.nl/user/151187 (onderaan).

Regel 339 en verder:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
    $fetchAll 
= function ($subsite$id) use ($stmt) {
        
$results = [];
        
$stmt->execute(array($subsite$id)); 
   
        while(
$row $stmt->fetch(PDO::FETCH_ASSOC)) {  
            
$results[] = $row
        }
   
        return 
$results;
    };

    foreach (array(
'Forum''Frontpage''FOK!''Games''Sport''Weblog') as $subsite) {
        
$results $fetchAll(array($subsite,$id)); 
        
$countRecord 0;

        
// ga door naar volgende subsite indien geen resultaten (lege array)
        
if (!$results) {
              continue;
        }
?>
($fetchAll is regel 339.)

Enig idee wat ik over het hoofd zie?
  Moderator / Redactie Sport donderdag 25 juni 2015 @ 15:31:28 #130
359864 crew  Nattekat
De roze zeekat
pi_153832045
-edit: niks gezegd-
100.000 katjes
Fuck the EBU!
  Moderator / Redactie Sport donderdag 25 juni 2015 @ 15:36:17 #131
359864 crew  Nattekat
De roze zeekat
pi_153832150
$fetchAll(array($subsite,$id)) deze functie klopt niet, je roept hierbij aan:
1$fetchAll(var)

Terwijl je gedeclareerd hebt:
1$fetchAll(var, var)

Er mist dus een parameter.
100.000 katjes
Fuck the EBU!
pi_153832370
quote:
0s.gif Op donderdag 25 juni 2015 15:36 schreef Nattekat het volgende:
$fetchAll(array($subsite,$id)) deze functie klopt niet, je roept hierbij aan:
[ code verwijderd ]

Terwijl je gedeclareerd hebt:
[ code verwijderd ]

Er mist dus een parameter.
Klinkt logisch, alleen heb ik niet echt een idee voor een oplossing. :@. Ik moet ergens een parameter extra meegeven, of de functie aanpassen?
  Moderator / Redactie Sport donderdag 25 juni 2015 @ 15:51:09 #133
359864 crew  Nattekat
De roze zeekat
pi_153832464
quote:
0s.gif Op donderdag 25 juni 2015 15:47 schreef zarGon het volgende:

[..]

Klinkt logisch, alleen heb ik niet echt een idee voor een oplossing. :@. Ik moet ergens een parameter extra meegeven, of de functie aanpassen?
Je geeft nu een array van twee elementen mee, als je die twee elementen los meegeeft moet het werken.

Dan krijg je dus:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
    $fetchAll 
= function ($subsite$id) use ($stmt) {
        
$results = [];
        
$stmt->execute(array($subsite$id)); 
   
        while(
$row $stmt->fetch(PDO::FETCH_ASSOC)) {  
            
$results[] = $row
        }
   
        return 
$results;
    };

    foreach (array(
'Forum''Frontpage''FOK!''Games''Sport''Weblog') as $subsite) {
        
$results $fetchAll($subsite,$id);
        
$countRecord 0;

        
// ga door naar volgende subsite indien geen resultaten (lege array)
        
if (!$results) {
              continue;
        }
?>

Regel 14 is veranderd
100.000 katjes
Fuck the EBU!
pi_153832616
quote:
0s.gif Op donderdag 25 juni 2015 15:51 schreef Nattekat het volgende:

[..]

Je geeft nu een array van twee elementen mee, als je die twee elementen los meegeeft moet het werken.

Dan krijg je dus:
[ code verwijderd ]

Regel 14 is veranderd
Foutmelding is weg, en het werkt!

Ik zie alleen weer alle subsites, maar dat klopt ook... Ik heb iets over het hoofd gezien. Argh... :').
Er vindt geen filtering plaats (geen ?) op subsite, alleen op ID. Dus het resultaat is altijd gevuld. :').
Ik heb alle records nodig, daarom geen filtering op subsite.

Ugh... Ik moet dus een andere oplossing vinden, eentje waarin bepaald wordt of de subsite wel of niet voorkomt en dat doorgeven of zo.

Bedankt in ieder geval.

[ Bericht 1% gewijzigd door #ANONIEM op 25-06-2015 15:59:04 ]
pi_153834956
2 kudoos voor de TT.

Iemand hier die wat doet met Laravel? en OctoberCMS?
pi_153835448
quote:
5s.gif Op donderdag 25 juni 2015 17:52 schreef Qunix het volgende:
2 kudoos voor de TT.

Iemand hier die wat doet met Laravel? en OctoberCMS?
Laravel dagelijks, OctoberCMS niet.
pi_153836152
quote:
19s.gif Op donderdag 25 juni 2015 18:17 schreef TwenteFC het volgende:

[..]

Laravel dagelijks, OctoberCMS niet.
Dagelijks als in je werk?
pi_153836188
quote:
11s.gif Op donderdag 25 juni 2015 18:47 schreef Qunix het volgende:

[..]

Dagelijks als in je werk?
Ja, en in het weekend voor de hobby ook nog vaak. :P
pi_153836273
quote:
19s.gif Op donderdag 25 juni 2015 18:48 schreef TwenteFC het volgende:

[..]

Ja, en in het weekend voor de hobby ook nog vaak. :P
Nice!

Ik ben nu met een site bezig (staat nog niet live) in OctoberCMS. Wat gebruik jij als CMS (of als admin)?
pi_153836325
Mijn mening over PHP is wel veranderd sinds ik met zo'n goed framework bezig ben. Positief.

Één ding erger ik me nog wel heel erg aan:

Het optellen en aftrekken van datums. Dat is echt een gedoe met dat DateInterval vind ik.
pi_153836338
quote:
5s.gif Op donderdag 25 juni 2015 18:52 schreef Qunix het volgende:

[..]

Nice!

Ik ben nu met een site bezig (staat nog niet live) in OctoberCMS. Wat gebruik jij als CMS (of als admin)?
Geen bestaande systemen, alles inhouse gemaakt.
pi_153836363
quote:
1s.gif Op donderdag 25 juni 2015 18:54 schreef robin007bond het volgende:
Mijn mening over PHP is wel veranderd sinds ik met zo'n goed framework bezig ben. Positief.

Één ding erger ik me nog wel heel erg aan:

Het optellen en aftrekken van datums. Dat is echt een gedoe met dat DateInterval vind ik.
https://github.com/briannesbitt/Carbon

:P
pi_153836378
quote:
1s.gif Op donderdag 25 juni 2015 18:54 schreef robin007bond het volgende:
Mijn mening over PHP is wel veranderd sinds ik met zo'n goed framework bezig ben. Positief.

Één ding erger ik me nog wel heel erg aan:

Het optellen en aftrekken van datums. Dat is echt een gedoe met dat DateInterval vind ik.
http://carbon.nesbot.com/ _O_
pi_153836406
quote:
Dat ziet er mooi uit. ;)
pi_153836441
Dit had ik veel eerder moeten weten. Ik heb zulke fucking dirty trucjes uit moeten halen om fatsoenlijk meerdere datums van elkaar af te trekken en dergelijke. :') En vergelijkingen met unix timestamps en dergelijke. Niet echt meer van deze tijd.
pi_153836482
quote:
1s.gif Op donderdag 25 juni 2015 18:57 schreef robin007bond het volgende:
Dit had ik veel eerder moeten weten. Ik heb zulke fucking dirty trucjes uit moeten halen om fatsoenlijk meerdere datums van elkaar af te trekken en dergelijke. :') En vergelijkingen met unix timestamps en dergelijke. Niet echt meer van deze tijd.
Elke keer wanneer ik een oplossing zoek voor iets waarvan ik het vermoeden heb dat iemand er vast al iets moois voor gemaakt heeft zoek ik altijd eerst een beetje rond op https://packagist.org/

Heel eenvoudig zoeken door composer compatible packages.
pi_153836495
quote:
1s.gif Op donderdag 25 juni 2015 18:54 schreef robin007bond het volgende:
Mijn mening over PHP is wel veranderd sinds ik met zo'n goed framework bezig ben. Positief.
Leuke frameworks, werkt fantastisch, maar nog steeds de taal zelf wat ik lelijk blijf vinden :')
Oh, en java is absoluut niet beter.
pi_153836662
quote:
19s.gif Op donderdag 25 juni 2015 18:59 schreef TwenteFC het volgende:

[..]

Elke keer wanneer ik een oplossing zoek voor iets waarvan ik het vermoeden heb dat iemand er vast al iets moois voor gemaakt heeft zoek ik altijd eerst een beetje rond op https://packagist.org/

Heel eenvoudig zoeken door composer compatible packages.
Bedankt voor de tip, Packagist kende ik al en uiteraard gebruik ik ook Composer. Maar ik moet er inderdaad wat vaker op kijken.

Developen op Windows vind ik trouwens een stuk minder chill. En ik vind het iets teveel van het goede om een GNU/Linuxdistributie geïnstalleerd te vragen bij mijn werkgever. :@ (zeker omdat ik vakantiekracht ben).
pi_153836715
quote:
1s.gif Op donderdag 25 juni 2015 19:04 schreef robin007bond het volgende:

[..]

Bedankt voor de tip, Packagist kende ik al en uiteraard gebruik ik ook Composer. Maar ik moet er inderdaad wat vaker op kijken.

Developen op Windows vind ik trouwens een stuk minder chill. En ik vind het iets teveel van het goede om een GNU/Linuxdistributie geïnstalleerd te vragen bij mijn werkgever. :@ (zeker omdat ik vakantiekracht ben).
Op een USB installeren thuis en booten vanaf USB op je werk.

En als je dat niet kan/mag, gebruik op z'n minst https://chocolatey.org/
pi_153836765
quote:
14s.gif Op donderdag 25 juni 2015 18:59 schreef Qunix het volgende:

[..]

Leuke frameworks, werkt fantastisch, maar nog steeds de taal zelf wat ik lelijk blijf vinden :')
Oh, en java is absoluut niet beter.
Ja, de taal zelf is lelijk. En vooral de procedurele stijl en OOP-stijl door elkaar.

Java vind ik wel een stuk fijner. Ik ga me nog wat meer verdiepen in Haskell. Daarin kun je problemen zo elegant oplossen. O+

Ik durf wel te zeggen dat Python + Django beter is dan PHP met de meeste frameworks, maar eigenlijk durf ik die uitspraak niet te doen omdat ik nog niet veel met Django heb gedaan. Python is wel een hele fijne taal.

Wat trouwens ook zo vreemd is. De methode sub en add van DateTime hebben een nieuwe instantie van een DateTime object als return value, maar bewerken tegelijkertijd het bestaande DateTime-object waarop je de functie uitvoert. Meestal is het 't één of het ander.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')