abonnement Unibet Coolblue
pi_167199603
quote:
1s.gif Op donderdag 8 december 2016 21:13 schreef Monolith het volgende:

[..]

Er is een aparte invoer. Zegt niet direct iets over de de opslag. ;)
True. Dan moet je eigenlijk bekijken hoe het eruit ziet als je de adresgegevens gaat bewerken.
pi_167199797
En als we het over adressen hebben, is https://www.mjt.me.uk/pos(...)eve-about-addresses/ wel interessant leesvoer.
pi_167667417
Ik heb de volgende string: " 84331 GB / 88282 GB avail"
Daaruit wil ik de 2 getallen uit halen. Met awk in bash is dat simpel (awk {'print $1 $4'}), maar PHP kent helaas geen awk. Wat is een (simpele) alternatief, behalve exploden op spaties (kan wel, maar lelijk).
  woensdag 28 december 2016 @ 11:11:00 #104
12221 Tijn
Powered by MS Paint
pi_167667678
quote:
0s.gif Op woensdag 28 december 2016 11:01 schreef xaban06 het volgende:
Ik heb de volgende string: " 84331 GB / 88282 GB avail"
Daaruit wil ik de 2 getallen uit halen. Met awk in bash is dat simpel (awk {'print $1 $4'}), maar PHP kent helaas geen awk. Wat is een (simpele) alternatief, behalve exploden op spaties (kan wel, maar lelijk).
Er is niks lelijk aan exploden op spatie en vervolgens het 1e en 4e element te pakken, hoor. Dat is in feite hetzelfde als wat je met awk doet.
  Moderator / Redactie Sport woensdag 28 december 2016 @ 11:21:52 #105
359864 crew  Nattekat
De roze zeekat
pi_167668024
Ik ben dan een fan van regex :Y
preg_match in php.
100.000 katjes
Maakte de 100.000e post in BIT
Er eens op uit?
pi_167668467
Een regex lijkt me duurder qua resources dan een explode.
Drop drop drop drop drop drop drop!!!! DROP!!! drop drop drop drop !!
pi_167669685
Een explode op spaties is precies wat awk onder water doet.
pi_167670216
Oke oke, dank jullie wel allemaal :)
pi_167807837
Ik snap er geen kut van.. ik heb deze code:

1
2
3
4
5
6
7
8
9
<?php
if(isset($_GET['id'])){
    if(isset(
$_COOKIE['tijden'])){ setcookie("tijden"$_COOKIE['tijden']."s".$_GET['id']."-".time(), time()+(60*60*30)); }else{ setcookie("tijden"$_GET['id']."-".time(), time()+(60*60*30)); }

include(
'incl.php');

echo 
json_encode(array($d[0][0], $d[0][1], $d[0][4]));
}
?>

incl.php
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
<?php
$mysqli 
= new mysqli("localhost","root","","r");
if (
$mysqli->connect_errno) echo "Error - Failed to connect to MySQL: " $mysqli->connect_error;
$r $mysqli->query("SELECT * FROM f ORDER BY s DESC");
$d = array();
while(
$row mysqli_fetch_array($r)) {
       
$d[$row[0]] = array($row[0], $row[1], $row[2], $row[3], $row[4]);    
}
mysqli_close ($mysqli);

if(isset(
$_COOKIE['tijden'])){
    
$a explode('s'$_COOKIE['tijden']);
    
$z "";
    foreach(
$a as $b){
        
$c explode('-'$b);
$x $d[$c[0]][4];
        if((
$c[1]+$x) > time()){
            unset(
$d[$c[0]]);
            
$z .= $b."s";
        } 
    }
    
$z substr($z0, -1);
    if(
$z != ""){ setcookie("tijden"$ztime()+(60*60*30)); }else{ setcookie("tijden"""1); };

}
$d array_values($d);
?>

Als er nog geen cookie bestaat en ik geef id=1 of wat dan ook mee dan werkt het dan staat er een cookie genaamd tijden met 1-32435354 oid als ik dan nog een keer laad met id=2 oid dan veranderd er niks, dan blijft de cookie hetzelfde, als ik incl.php niet include, dan doet ie het wel dan heb ik een cookie met 1-23434534s2-34545646 oid
de setcookie onderaan in incl.php werkt wel, dat weet ik omdat als de tijd verstreken is het eruit word gehaald.
Wat is het probleem hier?
  Moderator / Redactie Sport / Devops zondag 1 januari 2017 @ 15:11:35 #110
176766 crew  zoem
zoemt
pi_167808185
Het zou erg helpen als je je code leesbaarder schrijft (liefst volgens de psr-2 standaard). Schrijf de if statements netjes uit op nieuwe regels en gebruik beschrijvende namen. Je maakt er nu bijna een sport van om zo min mogelijk karakters en regels te gebruiken :P

Random tips:
- Doe een SELECT kolom1, kolom2 FROM ipv SELECT * FROM, zodat je die array(..) constructie niet hoeft te maken
- Gebruik mysqli_fetch_assoc, zodat je niet met vage numerieke indices moet werken
pi_167808213
Begin eens met het fatsoenlijk indenten van je code, dat maakt het stuk leesbaarder. Het kan ook helpen om je variabelen een naam te geven die aangeeft wat ze voorstellen in plaats van letters.

Het is mij nu een compleet raadsel wat er gebeurt en wat je wilt dat er gebeurt. Als je dingen netjes opschrijft wordt het ook een stuk makkelijker om erover na te denken en te vinden waar je fout zit.
  zondag 1 januari 2017 @ 15:42:20 #112
457856 H.Witkamp
Vijf gulde!!!
pi_167808706
Je gebruikt setcookie in het bestand incl.php. De setcookie die je voor include('incl.php') gebruikt wordt dan overschreven.

De cookie die je met setcookie zet wordt pas met de volgende request meegestuurd dus de inhoud van $_COOKIE['tijden'] veranderd niet gelijk na setcookie.

Wat je zou kunnen doen is
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
if(isset($_GET['id'])){
    if(isset(
$_COOKIE['tijden'])){ 
        
$cookie $_COOKIE['tijden']."s".$_GET['id']."-".time();        
     }else{ 
        
$cookie $_GET['id']."-".time();
    }
}

include(
'incl.php');

echo 
json_encode(array($d[0][0], $d[0][1], $d[0][4]));
}
?>

en dan in incl.php $cookie gebruiken ipv $_COOKIE['tijden'].
pi_167809005
Sorry als mijn post wat negatief overkwam, ik heb je code een beetje herschreven als voorbeeld hoe je dingen leesbaarder kunt maken en makkelijker fouten op kan sporen. Leer jezelf dit aan en je gaat enorm veel tijd en frustratie besparen op langere termijn.

Overigens niet getest:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

const COOKIE_NAME 'tijden';
const 
THIRTY_MINUTES 60 60 30;

if (isset(
$_GET['id'])) {
    
$newEntry $_GET['id'] . "-" time();
    
$prepend = isset($_COOKIE[COOKIE_NAME]) ? $_COOKIE[COOKIE_NAME] . 's' '';
    
$expiryTime time() + THIRTY_MINUTES;
    
setcookie(COOKIE_NAME$prepend $newEntry$expiryTime);

    include(
'incl.php');

    echo 
json_encode(array($data[0][0], $data[0][1], $data[0][4]));
}

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
<?php

$mysqli 
= new mysqli('localhost''root''''r');

if (
$mysqli->connect_errno) {
    echo 
"Error - Failed to connect to MySQL: " $mysqli->connect_error;
}

$result $mysqli->query('SELECT * FROM f ORDER BY s DESC');

$data = array();
while(
$row mysqli_fetch_array($result)) {
    
$data[$row[0]] = array($row[0], $row[1], $row[2], $row[3], $row[4]);
}
mysqli_close ($mysqli);

if(isset(
$_COOKIE[COOKIE_NAME])){
    
$entries explode('s'$_COOKIE[COOKIE_NAME]);
    
$newCookie '';
    foreach(
$entries as $entry){
        list(
$id$time) = explode('-'$entry);
        
$seconds $data[$id][4];
        if ((
$time $seconds) > time()) {
            unset(
$data[$id]);
            
$newCookie .= $entry 's';
        }
    }
    
// remove last s from newCookie
    
$newCookie substr($newCookie0, -1);

    if (
$newCookie != '') {
        
setcookie(COOKIE_NAME$newCookietime() + THIRTY_MINUTES);
    } else {
        
// unset cookie
        
setcookie(COOKIE_NAME''1);
    }
}
$data array_values($data);
Ik hoop dat je inziet dat het nu al een stuk duidelijker is wat er gebeurt. In php hoef je de afsluit tag niet te gebruiken, het is verstandig dit ook niet te doen, kan rare fouten opleveren als je er per ongeluk een spatie of enter achter hebt staan.

Waar het mis gaat is wat H. Witkamp al aangeeft. Als je setcookie doet dat veranderd dat niet je $_COOKIE array zolang je script nog loopt. Als het script bij de if op regel 17 aankomt is deze dus nog zo als die was aan het begin van je script.
pi_167809639
Iedereen bedankt voor de reacties.

quote:
0s.gif Op zondag 1 januari 2017 15:42 schreef H.Witkamp het volgende:
Je gebruikt setcookie in het bestand incl.php. De setcookie die je voor include('incl.php') gebruikt wordt dan overschreven.

De cookie die je met setcookie zet wordt pas met de volgende request meegestuurd dus de inhoud van $_COOKIE['tijden'] veranderd niet gelijk na setcookie.

Wat je zou kunnen doen is
[ code verwijderd ]

en dan in incl.php $cookie gebruiken ipv $_COOKIE['tijden'].
bedankt, dit was het, hiermee is het opgelost, klinkt logisch al verwachtte ik dat het script wel zou weten dat het veranderd zou moeten zijn omdat ie dat zelf gedaan heeft, misschien als ik $_COOKIE['tijden'] had gebruikt om de waarde aan te passen, had ie dat wel geweten ga ik vanuit, niet geprobeert, dan kan je alleen de verlooptijd niet instellen ga ik vanuit, maar dat gebeurde dan verderop wanneer de cookie weer geset werd, maarja $cookie werkt prima.

quote:
0s.gif Op zondag 1 januari 2017 15:57 schreef Alfje het volgende:
Sorry als mijn post wat negatief overkwam, ik heb je code een beetje herschreven als voorbeeld hoe je dingen leesbaarder kunt maken en makkelijker fouten op kan sporen. Leer jezelf dit aan en je gaat enorm veel tijd en frustratie besparen op langere termijn.

Overigens niet getest:
[ code verwijderd ]

[ code verwijderd ]

Ik hoop dat je inziet dat het nu al een stuk duidelijker is wat er gebeurt. In php hoef je de afsluit tag niet te gebruiken, het is verstandig dit ook niet te doen, kan rare fouten opleveren als je er per ongeluk een spatie of enter achter hebt staan.

Waar het mis gaat is wat H. Witkamp al aangeeft. Als je setcookie doet dat veranderd dat niet je $_COOKIE array zolang je script nog loopt. Als het script bij de if op regel 17 aankomt is deze dus nog zo als die was aan het begin van je script.
Ja ik weet het, mijn autistische hoofd blokkeert als ik een naam moet bedenken voor zo'n ding dus gebruik ik gewoon een random letter uit het alfabet, zodat ik door kan, meestal beginnende bij abcd en als ik niet meer weet wat de laatste letter was gebruik ik zxy etc. of ga ik 2 letters gebruiken, heb er persoonlijk niet al teveel last van maar kan me voorstellen dat als iemand anders kijkt ie denkt wat heb jij er nou weer neergekwakt, alleen als ik oude scipts van mezelf van jaren terug bekijk snap ik er niet direct veel van, maar of dat met fatsonelijke benamingen veel zou schelen betwijfel ik, want ik begrijp ze nog altijd sneller als het gemiddelde door iemand anders gemaakte script, omdat het toch nog ergens in mn geheugen zit, maar ik zal eraan proberen te werken.

Dat van de afsluittag wist ik niet, hoezo zou je fouten krijgen als je er een spatie of enter achter hebt staan? je kunt toch gewoon php afsluiten en dan html erachter poten en eventueel later weer php openen. ik weet niet wat voor een fouten daardoor moeten komen.
pi_167810747
quote:
Dat van de afsluittag wist ik niet, hoezo zou je fouten krijgen als je er een spatie of enter achter hebt staan? je kunt toch gewoon php afsluiten en dan html erachter poten en eventueel later weer php openen. ik weet niet wat voor een fouten daardoor moeten komen.
Als je headers mee wilt sturen met je response moet je die headers altijd sturen voordat je andere output genereert anders krijg je een foutmelding. Als je in bestanden die verder geen html ofzo bevatten een afsluittag zet en daarachter per ongeluk een spatie of enter dan ga je al output genereren. Als je dan heel ergens anders verderop een header wilt sturen krijg je een fout en die is verdomd lastig op te sporen.
pi_167812582
Psr2 stelt sowieso dat pure-php bestanden geen closingtags mogen bevatten. Het is ook ontzettend lelijk want ofwel je kunt je document niet afsluiten met een newline, ofwel je krijgt headers already sent problemen.
pi_167816495
Dat is allemaal nieuw voor mij ik dacht zelfs dat het verplicht was om af te sluiten, maarja bedankt voor de info.
pi_168990086
Zouden jullie mij kunnen helpen? Ik wil een functie programmeren die de eerste circa 150 woorden van een artikel op de home pagina zet (à la GeenStijl). Hoe pak ik dit aan?
  zaterdag 18 februari 2017 @ 22:23:17 #119
118011 BrainOverfloW
Fok! around the Clock!
pi_168991073
quote:
0s.gif Op zaterdag 18 februari 2017 21:40 schreef snorvanJohanDerksen het volgende:
Zouden jullie mij kunnen helpen? Ik wil een functie programmeren die de eerste circa 150 woorden van een artikel op de home pagina zet (à la GeenStijl). Hoe pak ik dit aan?
Dat zou je met de volgende paar regels kunnen doen.

1
2
3
4
5
6
7
8
9
10
11
function limitWords($text, $limit)
{    
    //Breek de tekst in array van woorden
    $words = explode(" ", $text);

    //Pak de woorden vanaf het begin van de tekst tot aan het limiet
    $words = array_slice($words, 0, $limit);

    //Plak de overgebleven woorden weer aan elkaar tot een tekst.
    return implode(" ", $words);
}
Whether or not you can become great at something, you can always become better.
And one day you'll wake up and find out how good you actually became, having transcended whatever limits you might have thought you couldn't pass.
Neil Degrasse Tyson
pi_168993399
Ik kan niet zo snel een java topic vinden, maar waarom is java zo belachelijk ingewikkeld vergeleken met php/mysql/html/javascript.

Ik wou java gaan leren om beetje te kloten met het maken van android apps, ben nou een of andere tutorial van tweakers aan het volgen, maar het ziet er ten eerste allemaal onnodig ingewikkeld uit en bij die tweakers zo nu en dan challenges (dat hoort erbij) die echt totaal niks te maken hebben met wat je al gedaan hebt, en het grootste probleem nu even, is dat de code die hij krijgt als ie een standaard layout ding kiest totaal anders is als wat ik krijg (ziet er bij hem in mijn ogen stuk simpeler uit, maar uiteraard nog steeds ingewikkeld wat inherent is aan java in mijn noob-ogen) maar daar schiet ik dus verder niet heel veel mee op.

Maar heeft iemand een fatsoenlijke java/android tutorial? ik heb in php ook nog nooit OOP gedaan.
Het liefst zoals vroeger op school dat je wat lesmateriaal krijgt en tussendoor wat opdrachtjes, maar die moeten dan wel te maken hebben met wat je tot dan toe hebt geleerd uiteraard.

[ Bericht 50% gewijzigd door Skunk-m op 19-02-2017 00:01:09 ]
pi_168993501
quote:
0s.gif Op zaterdag 18 februari 2017 23:55 schreef Skunk-m het volgende:
Ik kan niet zo snel een java topic vinden, maar waarom is java zo belachelijk ingewikkeld vergeleken met php/mysql/html/javascript.

Ik wou java gaan leren om beetje te kloten met het maken van android apps, ben nou een of andere tutorial van tweakers aan het volgen, maar het ziet er ten eerste allemaal onnodig ingewikkeld uit en bij die tweakers zo nu en dan challenges (dat hoort erbij) die echt totaal niks te maken hebben met wat je al gedaan hebt, en het grootste probleem nu even, is dat de code die hij krijgt als ie een standaard layout ding kiest totaal anders is als wat ik krijg (ziet er bij hem in mijn ogen stuk simpeler uit, maar uiteraard nog steeds ingewikkeld wat inherent is aan java in mijn noob-ogen) maar daar schiet ik dus verder niet heel veel mee op.

Maar heeft iemand een fatsoenlijke java/android tutorial? ik heb in php ook nog nooit OOP gedaan.
Het liefst zoals vroeger op school dat je wat lesmateriaal krijgt en tussendoor wat opdrachtjes, maar die moeten dan wel te maken hebben met wat je tot dan toe hebt geleerd uiteraard.
Met als je de OO principes nog niet snapt, zou ik beginnen met de basis van datastructuren et cetera, dit hoeft niet lang te duren maar dan snap je tenminste wat je doet.
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
pi_168993551
quote:
1s.gif Op zondag 19 februari 2017 00:00 schreef FlippingCoin het volgende:

[..]

Met als je de OO principes nog niet snapt, zou ik beginnen met de basis van datastructuren et cetera, dit hoeft niet lang te duren maar dan snap je tenminste wat je doet.
kheb paar weken terug tutorialtje gevolgd voor oop met php, in php weet ik wel hoe ik een class gebruik enzo, maar classes maken en de reden ervoor enzo dat begrijp ik niet helemaal ofzo, kan ik mn hersens nog niet omheen binden of hoe zeg je dat. maar ik heb nou een torrentje gedownload genaamd: intro to java programming by udacity
ff kijken of dat wat is.

EDIT: zie nu een andere torrent met tutorial, ook van udacity genaamd developing android apps.. misschien is dat een betere voor mijn doeleinden.
pi_168994908
quote:
0s.gif Op zondag 19 februari 2017 00:03 schreef Skunk-m het volgende:

[..]

kheb paar weken terug tutorialtje gevolgd voor oop met php, in php weet ik wel hoe ik een class gebruik enzo, maar classes maken en de reden ervoor enzo dat begrijp ik niet helemaal ofzo, kan ik mn hersens nog niet omheen binden of hoe zeg je dat.
Als je dat niet begrijpt, weet je ook nog niet hoe je het gebruikt.

Het kan inderdaad in het begin vrij ingewikkeld overkomen (been there, done that). Het echte voordeel ga je pas merken bij wat grotere applicaties. Als je duizenden regels procedurele code onder elkaar hebt, wordt het echt chaos. OOP is basically een manier om je code te groeperen in stukken met een bepaalde verantwoordelijkheid. Zodat je structuur aan kunt brengen en het júíst begrijpelijk en leesbaar blijft.
Zonder die structuur is OOP ook weinig waard. Dus zomaar je procedurele code in een class zetten heeft ook weinig nut.

Stel je hebt een class Fruit, met een method getColor() en return type string. Dan hoef je de code daarin niet eens meer te lezen, je weet al precies wat die method doet en waarvoor je hem kunt gebruiken.
Bij procedure code ontbreekt die context waardoor je de code zelf moet gaan ontcijferen en de kans uiteindelijk groot is dat je het maar opnieuw typt. Als je codebase wat groter wordt of je met meerdere mensen samenwerkt, kun je je dat gewoon niet meer permitteren. Daarnaast, naarmate je het programmeren beter in de vingers krijgt, ben je verhoudingsgewijs steeds minder tijd kwijt aan het bedenken/typen van de code zelf, en steeds meer aan het lezen en interpreteren van bestaande code. Dan is die context ook cruciaal.

Tot zover het belang, hoe het werkt kun je veel beter van zo'n tutorial leren dan van mij, dus dat laat ik achterwege.
pi_168994981
quote:
0s.gif Op zondag 19 februari 2017 00:03 schreef Skunk-m het volgende:

[..]

kheb paar weken terug tutorialtje gevolgd voor oop met php, in php weet ik wel hoe ik een class gebruik enzo, maar classes maken en de reden ervoor enzo dat begrijp ik niet helemaal ofzo, kan ik mn hersens nog niet omheen binden of hoe zeg je dat. maar ik heb nou een torrentje gedownload genaamd: intro to java programming by udacity
ff kijken of dat wat is.

EDIT: zie nu een andere torrent met tutorial, ook van udacity genaamd developing android apps.. misschien is dat een betere voor mijn doeleinden.
Zelf leer ik het liefst uit een boek, maar dat is compleet persoonlijk.

Verder heeft een klasse voor een beginnend programmeur twee doelen, enerzijds fungeert het als een blauwdruk en anderzijds als een logische afscheiding.

Stel je wilt een aantal fietsen maken, een stuk of twintig met een bepaald frame en ze moeten kunnen rijden, dan ga je niet iedere keer maar wat aankloten, maar maak je een keer een ontwerp wat je vervolgens volgt. In java maak je dus de klasse fiets met de vorm van het frame en de grootte van de wielen en manier waarop die rijd, nu kan je zoveel fietsen(objecten) maken als je wilt en weet je dat ze kunnen rijden(methode).

Het tweede nut, de logische afscheiding, als je een klasse voor een fiets maakt, dan kan je hier het gedrag(methoden) en andere eigenschappen van een fiets plaatsen en verwachten.
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
pi_168995042
quote:
0s.gif Op zaterdag 18 februari 2017 22:23 schreef BrainOverfloW het volgende:

[..]

Dat zou je met de volgende paar regels kunnen doen.
[ code verwijderd ]

Waarom gebruik je de limit parameter van explode niet? Dan krijg je een kleinere array terug, heb je splice ook niet meer nodig.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
/**
 * @param string $text
 * @param int $limit
 * @return string
 */
function limitWords($text$limit)
{    
    
// Breek de tekst in array met $limit woorden (+ 1 voor de rest van de woorden in $text)
    
$words explode(' '$text$limit 1);

    
// Gooi de rest van de tekst weg, zodat er maximaal $limit woorden over blijven.
    // Dit gaat ook goed als $text minder dan $limit woorden bevat.
    
unset($words[$limit]);

    
//Plak de overgebleven woorden weer aan elkaar tot een tekst.
    
return implode(' '$words);
}
?>


[ Bericht 1% gewijzigd door Light op 19-02-2017 16:56:44 ]
  zondag 19 februari 2017 @ 08:11:37 #126
91039 mstx
2x1/2 = 1/2 x 1/2
pi_168995572
quote:
1s.gif Op zondag 19 februari 2017 01:52 schreef FlippingCoin het volgende:
Verder heeft een klasse voor een beginnend programmeur twee doelen, enerzijds fungeert het als een blauwdruk en anderzijds als een logische afscheiding.
Daar heb je dan weer interfaces voor. O-)
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_168997504
quote:
1s.gif Op zondag 19 februari 2017 08:11 schreef mstx het volgende:

[..]

Daar heb je dan weer interfaces voor. O-)
Een interface is in mijn belevenis weer meer een contract waarin je afspreekt wat iets doet en wat het teruggeeft en nodig heeft, maar het niet boeit hoe het gebeurt.
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
  Moderator / Redactie Sport / Devops zondag 19 februari 2017 @ 12:44:31 #128
176766 crew  zoem
zoemt
pi_168998622
quote:
1s.gif Op zondag 19 februari 2017 08:11 schreef mstx het volgende:

[..]

Daar heb je dan weer interfaces voor. O-)
De klasse ís de blauwdruk. Interfaces zijn net als overerving, traits, etc onderdelen van die blauwdruk.
pi_168999299
quote:
0s.gif Op zaterdag 18 februari 2017 22:23 schreef BrainOverfloW het volgende:

[..]

Dat zou je met de volgende paar regels kunnen doen.
[ code verwijderd ]

Bedankt held
  zondag 19 februari 2017 @ 16:21:59 #130
118011 BrainOverfloW
Fok! around the Clock!
pi_169004136
quote:
0s.gif Op zondag 19 februari 2017 02:10 schreef Light het volgende:

[..]

Waarom gebruik je de limit parameter van explode niet? Dan krijg je een kleinere array terug, heb je splice ook niet meer nodig.
[ code verwijderd ]

Omdat ik daar simpelweg niet aan gedacht heb. Zoals altijd zijn er meerdere manieren om probleem op te lossen.

Echter zou ik zelf toch voor mijn oplossing blijven kiezen. Want hoewel je geen splice nodig hebt, heb je wel die unset nodig, dus qua regels code levert het je geen voordeel op.

Je krijgt er echter wel de onhandigheid voor terug dat arrays op positie 0 beginnen, terwijl de limit parameter vanaf 1 telt. Hierdoor moet je met '$limit + 1' gaan klooien om de juiste limiet te krijgen.

Je moet er dan echter wel weer bij stil staan dat door de 0 telling van de array het element met de af te knippen tekst een key heeft gelijk aan '$limit', niet aan '$limit + 1'. Anders word de rest van de tekst er weer vrolijk aangeplakt. Iets wat in jouw voorbeeld dus gebeurt is ;)

De mogelijkheid dat $words minder elementen heeft dan de $limit is geen issue aangezien array_slice dan gewoon alle elementen terug geeft.

Dat je zonder limiet op je explode een grotere array terug krijgt lijkt me ook niet echt een issue als je de overbodige elementen er de volgende regel toch uit gooit en tenzij je de complete werken van Shakespear wil gaan exploden zal het qua performance ook geen merkbaar verschil hebben schat ik zo in.
Whether or not you can become great at something, you can always become better.
And one day you'll wake up and find out how good you actually became, having transcended whatever limits you might have thought you couldn't pass.
Neil Degrasse Tyson
pi_169004638
quote:
0s.gif Op zondag 19 februari 2017 16:21 schreef BrainOverfloW het volgende:

[..]

Omdat ik daar simpelweg niet aan gedacht heb. Zoals altijd zijn er meerdere manieren om probleem op te lossen.

Echter zou ik zelf toch voor mijn oplossing blijven kiezen. Want hoewel je geen splice nodig hebt, heb je wel die unset nodig, dus qua regels code levert het je geen voordeel op.

Je krijgt er echter wel de onhandigheid voor terug dat arrays op positie 0 beginnen, terwijl de limit parameter vanaf 1 telt. Hierdoor moet je met '$limit + 1' gaan klooien om de juiste limiet te krijgen.

Je moet er dan echter wel weer bij stil staan dat door de 0 telling van de array het element met de af te knippen tekst een key heeft gelijk aan '$limit', niet aan '$limit + 1'. Anders word de rest van de tekst er weer vrolijk aangeplakt. Iets wat in jouw voorbeeld dus gebeurt is ;)
Heb ik toch niet goed genoeg opgelet :(
quote:
De mogelijkheid dat $words minder elementen heeft dan de $limit is geen issue aangezien array_slice dan gewoon alle elementen terug geeft.

Dat je zonder limiet op je explode een grotere array terug krijgt lijkt me ook niet echt een issue als je de overbodige elementen er de volgende regel toch uit gooit en tenzij je de complete werken van Shakespear wil gaan exploden zal het qua performance ook geen merkbaar verschil hebben schat ik zo in.
Als het gaat om de complete werken van Shakespeare zou ik niet gaan afkappen op een aantal woorden, maar op een aantal letters (en dan terugzoeken naar de laatste spatie).
  donderdag 9 maart 2017 @ 10:47:35 #132
38323 EDMAN-
Save the vinyl!
pi_169388704
MySQL n00b hier met een vraagje.

Ik heb 1 tabel 'Verpakkingen' met 60,000 artikelen. Één artikelnummer kan verschillende verpakkingen hebben uiteraard:
Artikel nummer 1. Artikelverpakking: Doos, Container, Fles, Box
D.w.z.: 4 regels met hetzelfde nummer.

Hoe kan ik hier 1 regel van maken?
Artikelnummer 1 - Doos, Container, Fles, Box
Artikelnummer 2 - Fles, Doos
etc.

Dank alvast
Wir tanzen im viereck
Wir tanzen konzentriert
  donderdag 9 maart 2017 @ 12:33:53 #133
91039 mstx
2x1/2 = 1/2 x 1/2
pi_169390315
quote:
0s.gif Op donderdag 9 maart 2017 10:47 schreef EDMAN- het volgende:
MySQL n00b hier met een vraagje.

Ik heb 1 tabel 'Verpakkingen' met 60,000 artikelen. Één artikelnummer kan verschillende verpakkingen hebben uiteraard:
Artikel nummer 1. Artikelverpakking: Doos, Container, Fles, Box
D.w.z.: 4 regels met hetzelfde nummer.

Hoe kan ik hier 1 regel van maken?
Artikelnummer 1 - Doos, Container, Fles, Box
Artikelnummer 2 - Fles, Doos
etc.

Dank alvast
https://dev.mysql.com/doc(...)unction_group-concat
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.
👾
  donderdag 9 maart 2017 @ 13:27:08 #134
38323 EDMAN-
Save the vinyl!
pi_169391161
quote:
Thanks! Daar heb ik ook zitten kijken, maar kwam er niet helemaal uit. Nu een halfbakken oplossing (alles in 1 veld met scheidingsteken) naar de collega gestuurd. In excel kan hij er wel losse velden van maken.

Vraag:
Klant wil 1 artikelnummer per regel, met daarachter de gegevens

Eerst function aangemaakt: ArtVerpList

Go
ALTER Function dbo.ArtVerpList(@Artikelnummer as varchar(25))
RETURNS varchar(MAX)
AS
BEGIN
DECLARE @List varchar(100)
SELECT @List = COALESCE(@List + ' | ', '') +
CAST(Verpakking AS varchar(15)) + ', ' + CAST(Gewicht as varchar(20)) + ', ' + CAST(Factor as varchar(20))
FROM ArtikelVerpakkingen
WHERE Artikelnummer=@Artikelnummer
ORDER BY Verpakking

RETURN @List
END
GO

SELECT Artikelnummer, Verpakkingen=dbo.ArtVerpList(Artikelnummer)
FROM ArtikelVerpakkingen
GROUP BY Artikelnummer
ORDER BY Artikelnummer

Uitkomst:
Artikelnummer Verpakkingen
000001 ST, 0.00, 1.00
000002 M2, 213.00, 1.00 | ST, 213.00, 1.00
000003 ST, 600.00, 1.00
000004 LG, 108.00, 60.00 | M2, 135.00, 76.00 | PAK, 1080.00, 600.00 | ST, 1.80, 1.00
Wir tanzen im viereck
Wir tanzen konzentriert
  donderdag 9 maart 2017 @ 15:09:07 #135
91039 mstx
2x1/2 = 1/2 x 1/2
pi_169393071
quote:
0s.gif Op donderdag 9 maart 2017 13:27 schreef EDMAN- het volgende:

[..]

Thanks! Daar heb ik ook zitten kijken, maar kwam er niet helemaal uit. Nu een halfbakken oplossing (alles in 1 veld met scheidingsteken) naar de collega gestuurd. In excel kan hij er wel losse velden van maken.

Vraag:
Klant wil 1 artikelnummer per regel, met daarachter de gegevens

Eerst function aangemaakt: ArtVerpList

Go
ALTER Function dbo.ArtVerpList(@Artikelnummer as varchar(25))
RETURNS varchar(MAX)
AS
BEGIN
DECLARE @List varchar(100)
SELECT @List = COALESCE(@List + ' | ', '') +
CAST(Verpakking AS varchar(15)) + ', ' + CAST(Gewicht as varchar(20)) + ', ' + CAST(Factor as varchar(20))
FROM ArtikelVerpakkingen
WHERE Artikelnummer=@Artikelnummer
ORDER BY Verpakking

RETURN @List
END
GO

SELECT Artikelnummer, Verpakkingen=dbo.ArtVerpList(Artikelnummer)
FROM ArtikelVerpakkingen
GROUP BY Artikelnummer
ORDER BY Artikelnummer

Uitkomst:
Artikelnummer Verpakkingen
000001 ST, 0.00, 1.00
000002 M2, 213.00, 1.00 | ST, 213.00, 1.00
000003 ST, 600.00, 1.00
000004 LG, 108.00, 60.00 | M2, 135.00, 76.00 | PAK, 1080.00, 600.00 | ST, 1.80, 1.00
Zo te zien is dit MS SQL? Dan is het niet zo gek dat MySQL functies niet werken.
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.
👾
  donderdag 9 maart 2017 @ 15:14:19 #136
38323 EDMAN-
Save the vinyl!
pi_169393168
quote:
1s.gif Op donderdag 9 maart 2017 15:09 schreef mstx het volgende:

[..]

Zo te zien is dit MS SQL? Dan is het niet zo gek dat MySQL functies niet werken.
Zoals gezegd, ben een n00b. Ik dacht dat hetzelfde was
Wir tanzen im viereck
Wir tanzen konzentriert
  donderdag 9 maart 2017 @ 15:48:37 #137
91039 mstx
2x1/2 = 1/2 x 1/2
pi_169393774
quote:
0s.gif Op donderdag 9 maart 2017 15:14 schreef EDMAN- het volgende:

[..]

Zoals gezegd, ben een n00b. Ik dacht dat hetzelfde was
Nee de basis SQL-functies zoals SELECT/UPDATE/INSERT zijn vaak het zelfde, maar daar houden de overeenkomsten tussen de verschillende implementaties (MySQL/MSSQL/Postgres etc) wel ongeveer op :P

https://en.m.wikibooks.org/wiki/SQL_Dialects_Reference
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.
👾
  vrijdag 28 april 2017 @ 15:28:25 #138
118011 BrainOverfloW
Fok! around the Clock!
pi_170544180
Even een vraagje over het gebruik van Git. Hoewel dat hier een beetje off-topic ligt, gok ik er op dat er hier wel ontwikkelaars tussen zitten die ook Git gebruiken.

Als ik in een bestaande branch werk kan ik mijn update naar remote sturen met
1git push

werk ik echter in een nieuwe branch die nog nooit naar remote gestuurd is moet ik deze aanmaken met:
1git push --set-upstream origin <branchName>

Bestaat er een enkel commando dat zegt, push naar brach, als deze niet bestaat, maak de branch automatisch aan?
Whether or not you can become great at something, you can always become better.
And one day you'll wake up and find out how good you actually became, having transcended whatever limits you might have thought you couldn't pass.
Neil Degrasse Tyson
pi_170556616
Die ken ik niet. Maar thefuck komt er aardig in de buurt: https://github.com/nvbn/thefuck
pi_170556669
quote:
0s.gif Op vrijdag 28 april 2017 15:28 schreef BrainOverfloW het volgende:
Even een vraagje over het gebruik van Git. Hoewel dat hier een beetje off-topic ligt, gok ik er op dat er hier wel ontwikkelaars tussen zitten die ook Git gebruiken.

Als ik in een bestaande branch werk kan ik mijn update naar remote sturen met
[ code verwijderd ]

werk ik echter in een nieuwe branch die nog nooit naar remote gestuurd is moet ik deze aanmaken met:
[ code verwijderd ]

Bestaat er een enkel commando dat zegt, push naar brach, als deze niet bestaat, maak de branch automatisch aan?
Je kan toch gewoon git checkout -b branchnaam doen en deze dan pushen naar origin?
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
  zaterdag 29 april 2017 @ 00:41:46 #141
118011 BrainOverfloW
Fok! around the Clock!
pi_170557025
quote:
1s.gif Op zaterdag 29 april 2017 00:20 schreef FlippingCoin het volgende:

[..]

Je kan toch gewoon git checkout -b branchnaam doen en deze dan pushen naar origin?
Als ik dat doe met een branch die nog niet bestaat op origin, krijg ik een melding dat ik die branch via de set-upstream aan moet maken op origin.

Het leek mij handig om één commando onder mijn alias te hebben die pushed ongeacht of die branch die ik wil pushen al bestaat op origin of nog aangemaakt moet worden.
Whether or not you can become great at something, you can always become better.
And one day you'll wake up and find out how good you actually became, having transcended whatever limits you might have thought you couldn't pass.
Neil Degrasse Tyson
  zaterdag 29 april 2017 @ 00:43:57 #142
118011 BrainOverfloW
Fok! around the Clock!
pi_170557055
quote:
14s.gif Op zaterdag 29 april 2017 00:17 schreef KomtTijd... het volgende:
Die ken ik niet. Maar thefuck komt er aardig in de buurt: https://github.com/nvbn/thefuck
Die lijkt sowieso wel handig en leuk gevonden.
Whether or not you can become great at something, you can always become better.
And one day you'll wake up and find out how good you actually became, having transcended whatever limits you might have thought you couldn't pass.
Neil Degrasse Tyson
pi_170557083
quote:
0s.gif Op zaterdag 29 april 2017 00:41 schreef BrainOverfloW het volgende:

[..]

Als ik dat doe met een branch die nog niet bestaat op origin, krijg ik een melding dat ik die branch via de set-upstream aan moet maken op origin.

Het leek mij handig om één commando onder mijn alias te hebben die pushed ongeacht of die branch die ik wil pushen al bestaat op origin of nog aangemaakt moet worden.
Lijkt mij veel moeit voor weinig, zo vaak maak je nou ook weer niet een branch aan, en het scheelt een commando.
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
  zaterdag 29 april 2017 @ 01:13:00 #144
118011 BrainOverfloW
Fok! around the Clock!
pi_170557362
quote:
1s.gif Op zaterdag 29 april 2017 00:45 schreef FlippingCoin het volgende:

[..]

Lijkt mij veel moeit voor weinig, zo vaak maak je nou ook weer niet een branch aan, en het scheelt een commando.
Ik vind het interessant om mijn workflow zo vloeiend mogelijk te krijgen. Als er zo'n commando geweest zou zijn had ik die in mijn aliasses om kunnen wisselen en was ik weer een stap kwijt juist zonder veel moeite te hoeven doen.

Sowieso ligt je hoeveelheid nieuwe branches ook maar net aan je werkwijze. Ik heb vaak een grotere feature waar ik enkele dagen/weken aan werk. In de tussentijd komen er dan kleinere features, wijzigingen en bugfixes voorbij die ik dan in losse branches bouw en naar de server push. Dus ik zit makkelijk op meerdere branches per week.
Losse bugfixes, aanpassingen en nieuwe kleine features waar ik
Whether or not you can become great at something, you can always become better.
And one day you'll wake up and find out how good you actually became, having transcended whatever limits you might have thought you couldn't pass.
Neil Degrasse Tyson
pi_170557377
quote:
0s.gif Op zaterdag 29 april 2017 01:13 schreef BrainOverfloW het volgende:

[..]

Ik vind het interessant om mijn workflow zo vloeiend mogelijk te krijgen. Als er zo'n commando geweest zou zijn had ik die in mijn aliasses om kunnen wisselen en was ik weer een stap kwijt juist zonder veel moeite te hoeven doen.

Sowieso ligt je hoeveelheid nieuwe branches ook maar net aan je werkwijze. Ik heb vaak een grotere feature waar ik enkele dagen/weken aan werk. In de tussentijd komen er dan kleinere features, wijzigingen en bugfixes voorbij die ik dan in losse branches bouw en naar de server push. Dus ik zit makkelijk op meerdere branches per week.
Losse bugfixes, aanpassingen en nieuwe kleine features waar ik
Ja ik werk ook vaak met verschillende branches, en een workflow optimaliseren is wel cool inderdaad. Heb je al automated building en testing et cetera?
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
  zaterdag 29 april 2017 @ 01:18:38 #146
118011 BrainOverfloW
Fok! around the Clock!
pi_170557407
quote:
1s.gif Op zaterdag 29 april 2017 01:14 schreef FlippingCoin het volgende:

[..]

Ja ik werk ook vaak met verschillende branches, en een workflow optimaliseren is wel cool inderdaad. Heb je al automated building en testing et cetera?
Ja we hebben al scripts via Gulp en Webpack draaien die alle asset afhandeling doet en zo. Momenteel ben ik nog bezig om testing goed onder de knie te krijgen.
Whether or not you can become great at something, you can always become better.
And one day you'll wake up and find out how good you actually became, having transcended whatever limits you might have thought you couldn't pass.
Neil Degrasse Tyson
pi_170557482
quote:
0s.gif Op zaterdag 29 april 2017 01:18 schreef BrainOverfloW het volgende:

[..]

Ja we hebben al scripts via Gulp en Webpack draaien die alle asset afhandeling doet en zo. Momenteel ben ik nog bezig om testing goed onder de knie te krijgen.
Ah, ik laat nu het compilen, testen en deployen door Jenkins regelen, verder nog niet veel gekeken wat er nog meer mogelijk is.
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
pi_170560058
quote:
1s.gif Op zaterdag 29 april 2017 01:27 schreef FlippingCoin het volgende:

[..]

Ah, ik laat nu het compilen, testen en deployen door Jenkins regelen, verder nog niet veel gekeken wat er nog meer mogelijk is.
Jenkins en build tools als gulp en webpack vullen elkaar aan.
Blue Ocean is overigens net gereleased, dat is wel een behoorlijke (UI) upgrade die het veel makkelijker maakt om build pipelines te maken.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_171074364
Hey all, alweer een tijdje geleden dat ik een vraagje had maar nu heb ik er weer 1

Ik gebruik deze regex voor urls parsen

RewriteRule ^huisje/([^/.]+)/([^/.]+)/([^/.]+)?.html$

de eerste regex is voor provincie
2e is voor stad
3e is voor de naam.

Echter komt er in de stad wel eens een slash (/) voor, hoe moet ik hier mee omgaan? want de URL's werken niet met deze regex en logisch gezien ook niet anders... Hoe zouden jullie dit aanpakken?
Just say hi!
pi_171074845
quote:
0s.gif Op zaterdag 20 mei 2017 16:15 schreef Chandler het volgende:
Hey all, alweer een tijdje geleden dat ik een vraagje had maar nu heb ik er weer 1

Ik gebruik deze regex voor urls parsen

RewriteRule ^huisje/([^/.]+)/([^/.]+)/([^/.]+)?.html$

de eerste regex is voor provincie
2e is voor stad
3e is voor de naam.

Echter komt er in de stad wel eens een slash (/) voor, hoe moet ik hier mee omgaan? want de URL's werken niet met deze regex en logisch gezien ook niet anders... Hoe zouden jullie dit aanpakken?
Gebruik maken van url encoding.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')