abonnement Unibet Coolblue
  woensdag 19 juni 2013 @ 00:27:05 #1
178193 Juicyhil
Bekende FOK!ker
pi_127971774


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!
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
pi_127974412
quote:
0s.gif Op woensdag 19 juni 2013 00:26 schreef Juicyhil het volgende:

[..]

Auto-complete zoals IntelliSense in Visual Studio is inderdaad heel erg fijn. Maar zo goed als die ben ik hem voor PHP nergens tegengekomen. Zeker niet in combinatie met frameworks (zeker niet de wat onbekendere).
Ik heb nooit met Visual Studio gewerkt, maar de auto-complete van PhpStorm vind ik zeer goed.
pi_127976664
ik vind de autocomplete van geany erg relaxed. Komt misschien doordat ik die als enige gewend ben maar ik gebruik het best veel.
Vult ook class- variable- en functienamen aan die je in andere openstaande bestanden in gebruik hebt. Das wel handig, behalve dat je libraries e.d. natuurlijk (bijna) nooit open hebt staan.
pi_128014062
Ik heb een groot nadeel ontdekt van InnoDB, dat als je een veld toevoegd op een tabel met 5 miljoen records, dat deze er dan zeker 3 uur over doet (en nog steeds bezig is...)....
Just say hi!
pi_128016117
quote:
0s.gif Op woensdag 19 juni 2013 23:24 schreef Chandler het volgende:
Ik heb een groot nadeel ontdekt van InnoDB, dat als je een veld toevoegd op een tabel met 5 miljoen records, dat deze er dan zeker 3 uur over doet (en nog steeds bezig is...)....
_O-

Heb je wel gepartitioneerd?
  † In Memoriam † woensdag 19 juni 2013 @ 23:56:08 #6
159335 Boze_Appel
Vrij Fruit
pi_128016287
Dan heb je inderdaad ergens iets gruwelijk fout gedaan of je draait die DB op een pentium 1 ofzo.
Carpe Libertatem
pi_128017264
Dan doen ik en mensen uit 125.000 resultaten op google dus blijkbaar iets fout :7

https://www.google.nl/sea(...)ceid=chrome&ie=UTF-8
-edit 2-
http://stackoverflow.com/(...)lter-table-of-innodb
Is niet precies mijn verandering maar geeft wel aan dat het tijd kost... nogal wat... maar met mogelijke (snellere) oplossingen..

-edit 1-
Oh en er is natuurlijk een workaround.

Kopieer table structuur, maak nieuw 'tijdelijk' tabel aan, pas structuur aan, exporteer data oude tabel, importeer data nieuwe tabel... scheelt aanzienlijk in de tijd...

[ Bericht 17% gewijzigd door Chandler op 20-06-2013 00:36:46 ]
Just say hi!
pi_128035146
Scheelt dat echt aanzienlijk? Ik dacht namelijk dat InnoDB onder water hetzelfde deed en dat daarmee ook de traagheid te verklaren was.
Tegenwoordig moet je Dr. Ir. zijn om een beetje correct Nederlands te kunnen neerpleuren.
Abusing semicolons since 1987.
pi_128057697
Aanzienlijk weet ik eigenlijk niet, heb de querys vannacht gedaan (lokaal) en ben gaan slapen... en het fijne van phpmyadmin is dat deze geen TIJD MEE GEEFT (duur van query, begin tijd, eind tijd en dat soort informatie...)

De export was zo gepiept, minuutje of 10. Het invoeren van de data heeft zeker een halfuur geduurd maar zou ook 2 uur kunnen zijn :@
Just say hi!
pi_128096439
Weer wat anders met curl,

Ik krijg vaak een CURLE_OK terug van curl_errno, maar soms als ik met curl_getinfo de http code uitlees is deze geen 200 maar 0; dus kan ik er op dit moment niets mee. Als ik kijk wat curl_error uitspuwt zie ik veelal van dit soort berichten (zonder tijd natuurlijk)

2013-06-21 20:58:23 - Could not resolve host: (nil); Host not found
2013-06-21 20:58:41 - Connection timed out after 2013 milliseconds
2013-06-21 20:59:04 - Resolving timed out after 2012 milliseconds
2013-06-21 20:59:33 - Operation timed out after 2013 milliseconds with 0 out of -1 bytes received

Op zich niets mis mee hoor, met deze gegevens kan ik ook wat, alleen vraag ik mij af of er ergens meer over dit soort foutmeldingen te vinden is, ik zou graag direct mijn script willen aanpassen op 'alle' mogelijkheden die kunnen voorkomen.

Iemand een idee?

[ Bericht 0% gewijzigd door Chandler op 21-06-2013 21:11:32 ]
Just say hi!
  vrijdag 21 juni 2013 @ 22:07:39 #11
187069 slacker_nl
Sicko pur sang
pi_128099456
quote:
5s.gif Op vrijdag 21 juni 2013 21:06 schreef Chandler het volgende:
Weer wat anders met curl,

Ik krijg vaak een CURLE_OK terug van curl_errno, maar soms als ik met curl_getinfo de http code uitlees is deze geen 200 maar 0; dus kan ik er op dit moment niets mee. Als ik kijk wat curl_error uitspuwt zie ik veelal van dit soort berichten (zonder tijd natuurlijk)

2013-06-21 20:58:23 - Could not resolve host: (nil); Host not found
2013-06-21 20:58:41 - Connection timed out after 2013 milliseconds
2013-06-21 20:59:04 - Resolving timed out after 2012 milliseconds
2013-06-21 20:59:33 - Operation timed out after 2013 milliseconds with 0 out of -1 bytes received

Op zich niets mis mee hoor, met deze gegevens kan ik ook wat, alleen vraag ik mij af of er ergens meer over dit soort foutmeldingen te vinden is, ik zou graag direct mijn script willen aanpassen op 'alle' mogelijkheden die kunnen voorkomen.

Iemand een idee?
Poept CURL geen meuk uit als je timeout verlopen is..? Maar je MOET kijken naar de HTTP code, anders weet je neit hoe/wat/waar. Dus als deze 0 is weet je dat er iets fout is.

Je kan eventueel ook eerst dit proberen op de hostname: http://php.net/manual/en/function.gethostbyname.php
http://www.php.net/manual/en/function.checkdnsrr.php (type A, AAAA, CNAME moeten bestaan, iig 1 vd 3).

[ Bericht 8% gewijzigd door slacker_nl op 21-06-2013 22:14:18 ]
In theory there is no difference between theory and practice. In practice there is.
pi_128100243
quote:
0s.gif Op vrijdag 21 juni 2013 22:07 schreef slacker_nl het volgende:
Poept CURL geen meuk uit als je timeout verlopen is..?
[/qoute]
Nee, helaas niet, anders dan de foutmelding in curl_error maar de status is OK! ;)

[quote]Maar je MOET kijken naar de HTTP code, anders weet je neit hoe/wat/waar. Dus als deze 0 is weet je dat er iets fout is.
Daardoor moet ik er inderdaad dus naar kijken, want een 200 is gewoon OK! zeker als de lengte van de content langer is dan 0.

quote:
Je kan eventueel ook eerst dit proberen op de hostname: http://php.net/manual/en/function.gethostbyname.php
http://www.php.net/manual/en/function.checkdnsrr.php (type A, AAAA, CNAME moeten bestaan, iig 1 vd 3).
Ik ben hier bekend mee, is op zich niet nodig, de foutmeldingen die CURL geeft geven dit ook al aan, alleen vraag ik mij af of er niet een lijst beschikbaar is waarin ik kan zien welke mogelijke fouten er allemaal tevoorschijn kunnen komen?

Voor alle gegeven fouten zet ik in de database dat de url fout en dus niet meer bezocht hoeft te worden (maar bij een timeout waarbij wel data ontvangen is, wil ik dat het liefst voorkomen! want die mag van mij wel meerdere kansen krijgen, eventueel op andere tijdstippen, (misschien is de site ff druk!?))
Just say hi!
pi_128105921
php 5.5 is trouwens al weer uit:

http://php.net/ChangeLog-5.php#5.5.0

* Added Zend Opcache extension and enable building it by default.

schijnt ook iets sneller te zijn dan apc, alleen er zit geen user cache bij :s)
..///
pi_128137137
quote:
0s.gif Op vrijdag 21 juni 2013 22:24 schreef Chandler het volgende:

[..]

Daardoor moet ik er inderdaad dus naar kijken, want een 200 is gewoon OK! zeker als de lengte van de content langer is dan 0.
Alle 2xx return codes geven succes aan (in een of andere vorm).
pi_128140399
quote:
0s.gif Op zondag 23 juni 2013 00:39 schreef Light het volgende:
Alle 2xx return codes geven succes aan (in een of andere vorm).
Klopt alleen de 200 met content ;) de rest is voor mij niet interessant als uitleesbaar ;)
Just say hi!
pi_128177142
nvm.

[ Bericht 99% gewijzigd door Chandler op 24-06-2013 00:25:29 ]
Just say hi!
pi_128232258
Huh... Doet PHP strings met variables erin cachen ofzo?

heb meerdere strings in de vorm van "{$rootdir}/path/to/file.php", nu heb ik $rootdir veranderd maar een hoop bestanden zoeken desondanks nog steeds in de oude rootdir...
  Moderator / Redactie Sport / Devops dinsdag 25 juni 2013 @ 11:54:47 #18
176766 crew  zoem
zoemt
pi_128232425
Nar mijn weten niet. Heb je wat code om te laten zien?
pi_128232520
of anders dirname(__FILE__) ?
1
2
3
4
5
6
<?php
$thisdir 
dirname(__FILE__);
$rootdir substr($thisdir,0,strrpos($thisdir,'/'));

require_once(
"{$rootdir}/config.php");
?>


[ Bericht 0% gewijzigd door KomtTijd... op 25-06-2013 12:08:58 ]
pi_128232821
quote:
14s.gif Op dinsdag 25 juni 2013 11:57 schreef KomtTijd... het volgende:
of anders dirname(__FILE__) ?
[ code verwijderd ]

je hebt door dat er geen $ staat voor thisdir?
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
pi_128233029
zo beter?

tevens in libraries:
1
2
3
4
5
<?php
if (!defined('SMARTY_DIR')) {
    
define('SMARTY_DIR'dirname(__FILE__) . DS);
}
?>


[ Bericht 98% gewijzigd door KomtTijd... op 25-06-2013 12:20:20 ]
pi_128234353
Raar zeg. Ik krijg het dus echt niet voor elkaar de directory te renamen. Een kopie maken werkt wel.
  Moderator / Redactie Sport / Devops dinsdag 25 juni 2013 @ 13:21:46 #23
176766 crew  zoem
zoemt
pi_128235570
Ik snap wat je bedoelt, maar met de gegeven code kan ik er niet veel uit opmaken. Heb je al var_dump gedaan op de betreffende locaties? Kan het zijn dat include_path gebruikt wordt ipv de verwachte dir?
pi_128237403
ik denk dat ik beter de situatie (wat beter) kan omschrijven:

1) ik heb een map met scripts erin op een linux (ubuntu 12.04) server waarin ik ontwikkel (zeg /var/www/
2) ik rename de map via een SFTP-verbinding zodat dit de live versie wordt (is het idee)
3) alle calls naar dirname(__FILE__) blijven de oude mapnaam teruggeven met als gevolg hele ritsen errors van includes die niet meer gevonden kunnen worden.
4) ik rename de map weer naar zijn oorspronkelijke naam, alles gaat weer goed
5) ik maak (wederom via SFTP) een kopie van de map en rename die naar de naam die ik wil hebben, vervolgens verwijder ik de oorspronkelijke map
6) alles gaat goed, de applicatie draait succesvol op zijn nieuwe locatie.

ik heb een clearstatcache() geprobeerd maar dat hielp niet, misschien heeft het wel met het filesystem te maken?
pi_128244803
quote:
0s.gif Op woensdag 19 juni 2013 23:24 schreef Chandler het volgende:
Ik heb een groot nadeel ontdekt van InnoDB, dat als je een veld toevoegd op een tabel met 5 miljoen records, dat deze er dan zeker 3 uur over doet (en nog steeds bezig is...)....
Even een index toevoegen over een kleine 3M records kost ook langer dan een kwartiertje...
pi_128245815
quote:
14s.gif Op dinsdag 25 juni 2013 17:28 schreef KomtTijd... het volgende:

[..]

Even een index toevoegen over een kleine 3M records kost ook langer dan een kwartiertje...
Tja, maar volgens mij is een index apart, maar een veld toevoegen of wijzigen duurt helaas VEEL LANGER! :( maar er is een oplossing, export, aanpassen import (zonder tables aan te maken)
Just say hi!
  dinsdag 25 juni 2013 @ 18:25:51 #27
187069 slacker_nl
Sicko pur sang
pi_128246839
quote:
14s.gif Op dinsdag 25 juni 2013 14:06 schreef KomtTijd... het volgende:
ik denk dat ik beter de situatie (wat beter) kan omschrijven:

1) ik heb een map met scripts erin op een linux (ubuntu 12.04) server waarin ik ontwikkel (zeg /var/www/
2) ik rename de map via een SFTP-verbinding zodat dit de live versie wordt (is het idee)
3) alle calls naar dirname(__FILE__) blijven de oude mapnaam teruggeven met als gevolg hele ritsen errors van includes die niet meer gevonden kunnen worden.
4) ik rename de map weer naar zijn oorspronkelijke naam, alles gaat weer goed
5) ik maak (wederom via SFTP) een kopie van de map en rename die naar de naam die ik wil hebben, vervolgens verwijder ik de oorspronkelijke map
6) alles gaat goed, de applicatie draait succesvol op zijn nieuwe locatie.

ik heb een clearstatcache() geprobeerd maar dat hielp niet, misschien heeft het wel met het filesystem te maken?
Heel simpel, maar zo effectief:

Symlink: /var/www/ditisdelivecode

Je hebt je dir:

/var/www/versie1.2
/var/www/versie1.3

Je doet:

rm /var/www/ditisdelivecode
ln -s /var/www/versie1.3 /var/www/ditisdelivecode

Tada, fixed.

Terug gaan?
rm /var/www/ditisdelivecode
ln -s /var/www/versie1.2 /var/www/ditisdelivecode


En eigenlijk moet je gewoon het oude weggooien, je hebt toch alles in version control staan.
In theory there is no difference between theory and practice. In practice there is.
pi_128247476
Versiebeheer, ja dat moeten we nog altijd eens implementeren. 't is een offline omgeving, dat maakt het niet makkelijker.
Maar er worden wel dagelijks (off-site) backups gemaakt dus oude zooi flikker ik inderdaad gewoon weg.

Een symlink maken is ook wel een goed idee. Niet aan gedacht :)
  FOK!-Schrikkelbaas woensdag 26 juni 2013 @ 11:18:19 #29
1972 Swetsenegger
Egocentrische Narcist
pi_128272611
Mogguh,

Ik heb een klein SQL vraagje. Waarschijnlijk heel simpel op te lossen maar ik kan het niet verzinnen.

stel ik heb de volgende tabel

1
2
3
4
5
idA  | idB
-----+----
3    | 15
8    | 11
136  | 3

Nu wil ik alle rijen selecteren waar idA danwel B een 3 bevat, maar dan wil ik alleen de value terug die géén 3 is, in dit voorbeeld krijg ik dus 15 en 136 terug.

Hoe doe ik dat?
  woensdag 26 juni 2013 @ 11:22:48 #30
91039 mstx
2x1/2 = 1/2 x 1/2
pi_128272767
1SELECT IF(idA=3, idB, idA) FROM tabel WHERE idA=3 OR idB=3
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.
👾
  FOK!-Schrikkelbaas woensdag 26 juni 2013 @ 11:26:28 #31
1972 Swetsenegger
Egocentrische Narcist
pi_128272887
quote:
0s.gif Op woensdag 26 juni 2013 11:22 schreef mstx het volgende:

[ code verwijderd ]

_O_ zo simpel.
  woensdag 26 juni 2013 @ 11:30:26 #32
91039 mstx
2x1/2 = 1/2 x 1/2
pi_128273040
Ik heb zelf ook een vraagje, deze (simpele) query is soms traag:

1
2
3
4
5
6
7
SELECT 
 COUNT(*)
FROM
 tabelA 
  LEFT JOIN tabelB ON tabelA.id=tabelB.id_van_tabelA 
WHERE 
 tabelA.kolomX=1 AND tabelB.kolomY=1

De explain zegt dit:
1
2
3
id     select_type     table     type     possible_keys     key     key_len     ref     rows     Extra 
1     SIMPLE     tabelB     ref     PRIMARY,kolomY     kolomY     1     const     123980     Using where
1     SIMPLE     tabelA     ref     id_van_tabelA     id_van_tabelA     5     database.tabelB.id,const     7     Using index
Kan dat sneller?
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.
👾
  Moderator / Redactie Sport / Devops woensdag 26 juni 2013 @ 11:59:49 #33
176766 crew  zoem
zoemt
pi_128274123
Ja, een aparte counter bijhouden ipv COUNT(*) uitvoeren :P
pi_128276222
quote:
0s.gif Op woensdag 26 juni 2013 11:59 schreef zoem het volgende:
Ja, een aparte counter bijhouden ipv COUNT(*) uitvoeren :P
dit performance technisch gezien de beste oplossing t.o.v. count queries. Je moet wel in de applicatie goed testen dat de tel kolom goed bij blijft, anders geef je valse waardes weer.
  woensdag 26 juni 2013 @ 13:11:35 #35
91039 mstx
2x1/2 = 1/2 x 1/2
pi_128276662
Zou kunnen, het gaat om het tellen van bijvoorbeeld het aantal berichten in een forum topic, waarvan het topic niet verwijderd is en het bericht ook aan een voorwaarde moet voldoen. Dan zou ik inderdaad het aantal berichten per topic kunnen bijhouden, maar als je dan bijvoorbeeld het aantal berichten per user of het aantal berichten in een bepaald subforum wil tellen moet je alsnog een count + join doen, of dat ook allemaal apart weer bijhouden en bij het plaatsen/verwijderen van een bericht al die tellers weer updaten, lijkt me een beetje omslachtig. :P
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_128276836
Is die query zo'n performance hit dan? Volgens mij moet die vrij snel kunnen met de juiste indexes, toch?
  woensdag 26 juni 2013 @ 13:22:33 #37
91039 mstx
2x1/2 = 1/2 x 1/2
pi_128277079
quote:
14s.gif Op woensdag 26 juni 2013 13:16 schreef KomtTijd... het volgende:
Is die query zo'n performance hit dan? Volgens mij moet die vrij snel kunnen met de juiste indexes, toch?
Hij komt wel redelijk vaak voor in m'n slow query log. :')

1
2
3
# Query_time: 4.404715  Lock_time: 0.000632 Rows_sent: 1  Rows_examined: 401908
SET timestamp=1372244412;
SELECT COUNT(*) AS num_comments FROM `comments` LEFT JOIN `topics` ON `topics`.`id`=`comments`.`topic_id`  WHERE `comments`.`type`=1 AND `topics`.`isactive`='Y';
Op comments.type en topics.isactive zit een index.

Het zal wel fout gaan bij "Rows_examined: 401908" maar geen idee hoe ik dat precies kan verbeteren.
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_128278823
heb je ook een index op comments.topic_id?
  woensdag 26 juni 2013 @ 14:39:48 #39
91039 mstx
2x1/2 = 1/2 x 1/2
pi_128280472
Yes.
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_128290560
Laat eens een EXPLAIN zien.

-edit: laat maar, die staat er boven :')

Is het datatype van isActive een bool? Misschien kun je nog een USE INDEX toevoegen, omdat hij bij de eerste SELECT kiest voor kolomY en niet voor PRIMARY?

[ Bericht 45% gewijzigd door papernote op 26-06-2013 19:10:56 ]
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_128293936
Ik loop tegen iets in CURL aan, voor vele URLS krijg ik een goede status terug van CURL maar sommige een foutmelding, deze foutmelding is vaak Could not resolve host: (nil); Host not found terwijl als ik met de browser naar deze url ga, bestaat deze wel!? en laad erg snel.

Mijn scriptje draait 25 URLS tegelijk met een timeout van 10 seconden.. Dus nu vraag ik mij af?! waar ligt dit aan? mijn opts zijn als volgt;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$setopt_array 
= array(CURLOPT_TIMEOUT              => $cronjobSettings['curl_timeout'],            // in seconds
                      
CURLOPT_TIMEOUT_MS           => $cronjobSettings['curl_timeout'] * 1000,     // in ms
                      
CURLOPT_CONNECTTIMEOUT       => $cronjobSettings['curl_timeout'],            // in seconds
                      
CURLOPT_CONNECTTIMEOUT_MS    => $cronjobSettings['curl_timeout'] * 1000,     // in ms
                      
CURLOPT_NOBODY               => false,                                       // return body
                      
CURLOPT_VERBOSE              => false,                                       // Minimize logs
                      
CURLOPT_AUTOREFERER          => true,                                        // ?
                      
CURLOPT_FAILONERROR          => true,                                        // fail connection on error!
                      
CURLOPT_RETURNTRANSFER       => true,                                        // return (get) data
                      
CURLOPT_SSL_VERIFYHOST       => false,                                       // no certificate
                      
CURLOPT_SSL_VERIFYPEER       => false,                                       // no verify!
                      
CURLOPT_POST                 => false,                                       // no posting
                      
CURLOPT_FOLLOWLOCATION       => true,                                        // follow redirects
                      
CURLOPT_MAXREDIRS            => 3,                                           // max number of redirects to follow
                      
CURLOPT_DNS_USE_GLOBAL_CACHE => false,
                      
CURLOPT_DNS_CACHE_TIMEOUT    => 2,
/*
                      CURLOPT_LOW_SPEED_LIMIT   => 10,                                          // in bytes
                      CURLOPT_LOW_SPEED_TIME    => $cronjobSettings['curl_timeout'],            // in seconds
                      CURLOPT_NOSIGNAL          => 1,                                           // exit if no signal is found
*/
                     
);
?>

Heeft iemand een idee waar de fout zou kunnen zitten? of is er bekend mee en weet er een work around/oplossing voor?
Just say hi!
pi_128295163
Waarom staat je CURLOPT_DNS_CACHE_TIMEOUT zo kort? En draait je script op dezelfde computer als je browser? Zoeken ze de host op via dezelfde DNS server?
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_128296332
Ik draai alles op het zelfde systeem (mijn test omgeving laptop) en heb nergens een DNS adres ingesteld whatsoever...

De timeout staat zo kort omdat deze dan toch al wel gevonden moet zijn? lijkt mij? :D maar zal hem eens verhogen en kijken of dat een verschil maakt..
Just say hi!
pi_128298826
quote:
0s.gif Op woensdag 26 juni 2013 21:16 schreef Chandler het volgende:
Ik draai alles op het zelfde systeem (mijn test omgeving laptop) en heb nergens een DNS adres ingesteld whatsoever...

De timeout staat zo kort omdat deze dan toch al wel gevonden moet zijn? lijkt mij? :D maar zal hem eens verhogen en kijken of dat een verschil maakt..
Het is de duur waarmee items in de DNS cache van cURL worden bewaard. Jij kiepert nu elke twee seconden je DNS cache leeg, waardoor je URLs heel vaak moet resolven. Als je vaak dezelfde host benaderd, dan is het wel handig om je cache langer gevult te laten.

Het is dus géén timeout die bepaalt hoe lang cURL staat te wachten op een request.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_128299050
Het voorbeeld is dat ook niet helemaal juist, want zowel met deze opties als zonder (of op welke waarde dan ook) blijven de fouten zich voordoen. Ik had deze DNS opties als test toegevoegd, maar zonder resultaat....

Dus snap ik nog steeds niet (lijkt mij dus dat DNS van de brouwser het zelfde is als die php gebruikt) waarom hij ze niet pakt? beetje vervelend...
Just say hi!
pi_128299337
Doe de URLs eens stuk-voor-stuk en kijk bij welke hij vastloopt.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
  Moderator / Redactie Sport / Devops woensdag 26 juni 2013 @ 22:23:09 #47
176766 crew  zoem
zoemt
pi_128300570
Alleen de curl opts zegt niet zo heel veel; het kan ook op een ander punt fout gaan (wat ik vermoed). Wat voer je verder nog uit met curl?
  woensdag 26 juni 2013 @ 23:54:41 #48
187069 slacker_nl
Sicko pur sang
pi_128305582
quote:
0s.gif Op woensdag 26 juni 2013 20:29 schreef Chandler het volgende:
Ik loop tegen iets in CURL aan, voor vele URLS krijg ik een goede status terug van CURL maar sommige een foutmelding, deze foutmelding is vaak Could not resolve host: (nil); Host not found terwijl als ik met de browser naar deze url ga, bestaat deze wel!? en laad erg snel.

Mijn scriptje draait 25 URLS tegelijk met een timeout van 10 seconden.. Dus nu vraag ik mij af?! waar ligt dit aan? mijn opts zijn als volgt;
[ code verwijderd ]

Heeft iemand een idee waar de fout zou kunnen zitten? of is er bekend mee en weet er een work around/oplossing voor?
Je wilt die DNS CACHE behouden, je zou eventueel als je echt lowlevel wilt gaan doen eerst resolven en dan pas aan CURL geven.

http://www.php.net/manual/en/function.dns-get-record.php

En dan wil je op A, CNAME en AAAA records zoeken en CNAME's moet je weer doorresolven tot je uitkomt op een A/AAAA record.

Of deze: http://www.php.net/manual/en/function.checkdnsrr.php
In theory there is no difference between theory and practice. In practice there is.
  † In Memoriam † donderdag 27 juni 2013 @ 00:47:33 #49
159335 Boze_Appel
Vrij Fruit
pi_128307402
quote:
0s.gif Op woensdag 26 juni 2013 14:39 schreef mstx het volgende:
Yes.
Indexes erbij maken op type en isactive. Daar doe je de selecties op.
Carpe Libertatem
pi_128309712
Ik voer verder niets specifieks uit met curl, ik gebruik dezelfde opzet als die eerder door Slacker_nl is gegeven (DIG / [PHP/(My)SQL] voor dummies #109)

En het uitlezen van de DNS per URL zou een mogelijkheid zijn, al zou CURL deze url natuurlijk ook gewoon moeten kunnen vinden :{
Just say hi!
pi_128309791
quote:
0s.gif Op woensdag 26 juni 2013 11:30 schreef mstx het volgende:
Ik heb zelf ook een vraagje, deze (simpele) query is soms traag:
[ code verwijderd ]

De explain zegt dit:
[ code verwijderd ]

Kan dat sneller?
Ik zou hier in Inner Join gebruiken ipv een Left Join. Je zoekt expliciet naar rijen waar TabelB.KolomY een waarde heeft, dus voegt het gebruik van een left join niets toe.
  donderdag 27 juni 2013 @ 08:04:40 #52
91039 mstx
2x1/2 = 1/2 x 1/2
pi_128310161
quote:
14s.gif Op donderdag 27 juni 2013 00:47 schreef Boze_Appel het volgende:

[..]

Indexes erbij maken op type en isactive. Daar doe je de selecties op.
Die indexes zitten er al op.

quote:
0s.gif Op donderdag 27 juni 2013 07:16 schreef Light het volgende:

[..]

Ik zou hier in Inner Join gebruiken ipv een Left Join. Je zoekt expliciet naar rijen waar TabelB.KolomY een waarde heeft, dus voegt het gebruik van een left join niets toe.
Maar dan selecteert 'ie toch ook rijen uit tabel B die niet gekoppeld zijn aan een rij uit tabel A?

Nog wat dingen geprobeerd maar het probleem zit hem echt in de COUNT() i.c.m. JOIN.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
SELECT COUNT(*) FROM TabelA
= 0.0002 sec

SELECT COUNT(*) FROM TabelA LEFT JOIN TabelB.................
= 0.25 sec

SELECT COUNT(*) FROM TabelA INNER JOIN TabelB.................
= 0.4 sec

SELECT * FROM TabelA LEFT JOIN TabelB.................
= 0.001 sec

SELECT * FROM TabelA INNER JOIN TabelB.................
= 0.001 sec

SELECT * FROM TabelA
= 0.0004 sec

Ik denk dat ik maar gewoon de kolom van TabelB die ik in de WHERE gebruik kopieer naar TabelA zodat ik niet hoef te joinen.
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_128310218
quote:
11s.gif Op donderdag 27 juni 2013 08:04 schreef mstx het volgende:

Maar dan selecteert 'ie toch ook rijen uit tabel B die niet gekoppeld zijn aan een rij uit tabel A?
Nee.
Bij een left join selecteer je alle rijen uit A en als er geen match in B gevonden kan worden (op basis van de ON clause) dan worden alle velden van B voor die rij gevuld met NULL.
Bij een inner join selecteer je alleen die rijen uit A waarvoor een match in B gevonden kan worden (op basis van de ON clause).
  donderdag 27 juni 2013 @ 08:22:45 #54
91039 mstx
2x1/2 = 1/2 x 1/2
pi_128310344
Ho ik zat even niet op te letten, je hebt gelijk. :P
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 27 juni 2013 @ 08:31:58 #55
187069 slacker_nl
Sicko pur sang
pi_128310447
quote:
0s.gif Op donderdag 27 juni 2013 07:00 schreef Chandler het volgende:
Ik voer verder niets specifieks uit met curl, ik gebruik dezelfde opzet als die eerder door Slacker_nl is gegeven (DIG / [PHP/(My)SQL] voor dummies #109)

En het uitlezen van de DNS per URL zou een mogelijkheid zijn, al zou CURL deze url natuurlijk ook gewoon moeten kunnen vinden :{
Mijn code is altijd bugfree :P
In theory there is no difference between theory and practice. In practice there is.
  donderdag 27 juni 2013 @ 08:33:07 #56
267443 Cue_
Cuecumbergirl
pi_128310463
Mensen hier ervaring/voorbeelden van een soap call naar een webservice met PL/SQL?
pi_128312572
quote:
10s.gif Op donderdag 27 juni 2013 08:31 schreef slacker_nl het volgende:

[..]

Mijn code is altijd bugfree :P
juist haha

maar goed, blijkbaar doe ik iets verkeerd!? ik ga nu eens kijken hoe anderen het doen...
Just say hi!
  donderdag 27 juni 2013 @ 13:39:43 #58
91039 mstx
2x1/2 = 1/2 x 1/2
pi_128320001
Ik kwam net weer eens een prachtige query tegen van een oud-collega:
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT 
 kolommen
FROM
 tabel 
WHERE 
 id IN (
          SELECT 
            id 
          FROM
            tabel 
          WHERE 
           voorwaarde=1
         )
_O_ (het is dezelfde tabel)
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_128320058
Prachtig! zo leer je sub selects :+
Just say hi!
  donderdag 27 juni 2013 @ 16:00:42 #60
118585 Crutch
Filantroop || Taalzwengel
pi_128325444
Hallo! Wat vinden jullie van Symfony?
Je moeder is een hamster
pi_128329074
quote:
0s.gif Op donderdag 27 juni 2013 13:39 schreef mstx het volgende:
Ik kwam net weer eens een prachtige query tegen van een oud-collega:
[ code verwijderd ]

_O_ (het is dezelfde tabel)
Als het nou op een ander veld was het helemaal niet zo gek geweest, voorbeeld is een werknemerstabel waarbij er een veld leidinggevende is welke correspondeerd met het werknemerId.
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
pi_128421826
Ik wil temperatuur in een Mysql database opslaan, maar zit even te twijfelen wat ik het beste kan gebruiken. Float, Double, Decimal of Real?

Mijn eerste keuze zou een float zijn, maar ik weet dat als je geld opslaat in een DB dat je Decimal moet gebruiken, aangezien temperatuur aardig op geld lijkt (ook twee cijfers achter de komma [in ieder geval hoe ik het aangeleverd krijg]). Zou ik zeggen Decimal is een veilig keuze, maar ik ga niet rekenen met deze cijfers, dus Float zou volgens mij ook wel kunnen.

Kan iemand de beste keuze kunnen uitleggen en wat standaarden hiervoor zijn?
  † In Memoriam † zondag 30 juni 2013 @ 15:42:05 #63
159335 Boze_Appel
Vrij Fruit
pi_128422313
quote:
0s.gif Op zondag 30 juni 2013 15:29 schreef Pakspul het volgende:
Ik wil temperatuur in een Mysql database opslaan, maar zit even te twijfelen wat ik het beste kan gebruiken. Float, Double, Decimal of Real?

Mijn eerste keuze zou een float zijn, maar ik weet dat als je geld opslaat in een DB dat je Decimal moet gebruiken, aangezien temperatuur aardig op geld lijkt (ook twee cijfers achter de komma [in ieder geval hoe ik het aangeleverd krijg]). Zou ik zeggen Decimal is een veilig keuze, maar ik ga niet rekenen met deze cijfers, dus Float zou volgens mij ook wel kunnen.

Kan iemand de beste keuze kunnen uitleggen en wat standaarden hiervoor zijn?
Als je er niet mee gaat rekenen, waarom sla je ze dan op?

Anyway, gewoon een decimal (4,1) gebruiken. Tenzij je dik dure apparatuur hebt is temperatuur opslaan met twee decimalen vrij onzinnig.
Carpe Libertatem
pi_128425070
quote:
7s.gif Op zondag 30 juni 2013 15:42 schreef Boze_Appel het volgende:

[..]

Als je er niet mee gaat rekenen, waarom sla je ze dan op?
Niet mee rekenen in de zin van ik ga geen percentages er over heen gooien om daarna totalen te gaan berekenen. Meer datamining, zodat ik later kan kijken of ik ze kan gebruiken om beslissingen op te maken.
quote:
Anyway, gewoon een decimal (4,1) gebruiken. Tenzij je dik dure apparatuur hebt is temperatuur opslaan met twee decimalen vrij onzinnig.
Arduino zit er achter, vet dure apparatuur dus :P
pi_128441331
quote:
7s.gif Op zondag 30 juni 2013 15:42 schreef Boze_Appel het volgende:

[..]

Als je er niet mee gaat rekenen, waarom sla je ze dan op?

Anyway, gewoon een decimal (4,1) gebruiken. Tenzij je dik dure apparatuur hebt is temperatuur opslaan met twee decimalen vrij onzinnig.
Als je twee decimalen aangeleverd krijgt, waarom zou je er dan maar 1 opslaan?
  † In Memoriam † zondag 30 juni 2013 @ 23:38:39 #66
159335 Boze_Appel
Vrij Fruit
pi_128441546
quote:
0s.gif Op zondag 30 juni 2013 23:33 schreef Light het volgende:

[..]

Als je twee decimalen aangeleverd krijgt, waarom zou je er dan maar 1 opslaan?
Kan opzich natuurlijk wel, maar het is een beetje als een rondje hardlopen op de cm nauwkeurig opslaan. Het gaat om gemeten temperatuur door een apparaat van nog geen tientje. Ik denk dat je al blij moet zijn als dat ding hele graden nauwkeurig doet, laat staan honderdste graden.

Ik ben van mening dat je data op basis van relevantie en toepasbaarheid op moet slaan en niet data moet bewaren 'omdat het kan'.
Carpe Libertatem
pi_128441555
Gebruik gewoon een int en sla de temp. in honderdste graden celcius op.
pi_128442945
quote:
7s.gif Op zondag 30 juni 2013 23:38 schreef Boze_Appel het volgende:

[..]

Kan opzich natuurlijk wel, maar het is een beetje als een rondje hardlopen op de cm nauwkeurig opslaan. Het gaat om gemeten temperatuur door een apparaat van nog geen tientje. Ik denk dat je al blij moet zijn als dat ding hele graden nauwkeurig doet, laat staan honderdste graden.

Ik ben van mening dat je data op basis van relevantie en toepasbaarheid op moet slaan en niet data moet bewaren 'omdat het kan'.
quote:
7s.gif Op zondag 30 juni 2013 23:38 schreef Boze_Appel het volgende:

[..]

Kan opzich natuurlijk wel, maar het is een beetje als een rondje hardlopen op de cm nauwkeurig opslaan. Het gaat om gemeten temperatuur door een apparaat van nog geen tientje. Ik denk dat je al blij moet zijn als dat ding hele graden nauwkeurig doet, laat staan honderdste graden.

Ik ben van mening dat je data op basis van relevantie en toepasbaarheid op moet slaan en niet data moet bewaren 'omdat het kan'.
Dat ligt er m.i. ook aan wat je meet. Kamertemperatuur in honderdste graden is niet echt zinnig maar bij een experiment kan die nauwkeurigheid wel nuttig zijn.
  † In Memoriam † maandag 1 juli 2013 @ 00:25:14 #69
159335 Boze_Appel
Vrij Fruit
pi_128443610
quote:
0s.gif Op maandag 1 juli 2013 00:09 schreef Light het volgende:

Dat ligt er m.i. ook aan wat je meet. Kamertemperatuur in honderdste graden is niet echt zinnig maar bij een experiment kan die nauwkeurigheid wel nuttig zijn.
Eens, maar als er al aangegeven wordt er niet mee te willen rekenen kan je 'experiment' meteen wel uitsluiten. ;)
Carpe Libertatem
pi_128446863
tvp, ben bezig met een site voor mn pa, dus ik ga jullie waarschijnlijk nog wel lastig vallen :)
pi_128529606
God wat is het toch vervelend om regexjes op grote bestanden af te sturen :{ :+

Heb een 2MB bestand en wilde deze eerst in 1x door preg_match_all halen, nou daar had PHP niet echt zin in en koste ruim een UUR!! lol, nu heb ik een benchmark gedaan om het bestand in stukken te verdelen en dat komt de snelheid ten goede..

stukken van 25000 (etc) + 500 extra (straks mis ik nog wat)

25500 bytes per keer - 709 seconden
10500 bytes per keer - 239 seconden
5500 bytes per keer - 130 seconden
3000 bytes per keer - 54 seconden
1500 bytes per keer - 22 seconden

:{ raar, kan iemand mij uitleggen waarom dit zo langzaam gaat? :@
Just say hi!
  woensdag 3 juli 2013 @ 10:37:05 #72
178193 Juicyhil
Bekende FOK!ker
pi_128529695
quote:
5s.gif Op woensdag 3 juli 2013 10:33 schreef Chandler het volgende:
God wat is het toch vervelend om regexjes op grote bestanden af te sturen :{ :+

Heb een 2MB bestand en wilde deze eerst in 1x door preg_match_all halen, nou daar had PHP niet echt zin in en koste ruim een UUR!! lol, nu heb ik een benchmark gedaan om het bestand in stukken te verdelen en dat komt de snelheid ten goede..

stukken van 25000 (etc) + 500 extra (straks mis ik nog wat)

25500 bytes per keer - 709 seconden
10500 bytes per keer - 239 seconden
5500 bytes per keer - 130 seconden
3000 bytes per keer - 54 seconden
1500 bytes per keer - 22 seconden

:{ raar, kan iemand mij uitleggen waarom dit zo langzaam gaat? :@
Lees je hem tegelijkertijd van de harde schijf af? Dat gaat namelijk altijd langzaam. Eerst in het geheugen stoppen en daarna pas checken met regex.
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
pi_128529759
het hele document zit in het geheugen! :) dus dat is het probleem niet...

Sterker nog, het document wordt geladen in het geheugen vanaf een andere server (curl) en daarna pas door een foreach loopje bewerkt.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
        $t 
time();
        
$parseCls  = new parse();
        
$size 1000;
        echo 
'<pre>';
        if (
strlen($document) > $size)
        {
            
$loop ceil(strlen($document) / $size);
            
$start 0;
            for (
$x 0$x $loop$x++)
            {
                echo 
date("Y-m-d H:i:s") . ' - ' . ($x $size) . ' - ' . ($size 500) . ' of ' strlen($document) . '<br />';
                
$start substr($document$x $size$size 500);
                
$parseCls->parse($start);
            }
        }
        else
        {
            
print_r($parseCls->parse($document));
        }
        echo 
'</pre>';
?>


[ Bericht 41% gewijzigd door Chandler op 03-07-2013 10:46:37 ]
Just say hi!
  woensdag 3 juli 2013 @ 11:34:08 #74
25889 Sitethief
Fulltime Flapdrol
pi_128531465
quote:
5s.gif Op woensdag 3 juli 2013 10:33 schreef Chandler het volgende:
God wat is het toch vervelend om regexjes op grote bestanden af te sturen :{ :+

Heb een 2MB bestand en wilde deze eerst in 1x door preg_match_all halen, nou daar had PHP niet echt zin in en koste ruim een UUR!! lol, nu heb ik een benchmark gedaan om het bestand in stukken te verdelen en dat komt de snelheid ten goede..

stukken van 25000 (etc) + 500 extra (straks mis ik nog wat)

25500 bytes per keer - 709 seconden
10500 bytes per keer - 239 seconden
5500 bytes per keer - 130 seconden
3000 bytes per keer - 54 seconden
1500 bytes per keer - 22 seconden

:{ raar, kan iemand mij uitleggen waarom dit zo langzaam gaat? :@
Some people, when confronted with a problem, think
“I know, I'll use regular expressions.” Now they have two problems.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  woensdag 3 juli 2013 @ 11:37:31 #75
187069 slacker_nl
Sicko pur sang
pi_128531585
quote:
0s.gif Op woensdag 3 juli 2013 10:37 schreef Juicyhil het volgende:

[..]

Lees je hem tegelijkertijd van de harde schijf af? Dat gaat namelijk altijd langzaam. Eerst in het geheugen stoppen en daarna pas checken met regex.
Gewoon telkens een x-aantal blokken lezen, dan parsen, dan weer verder lezen, dan parsen, etc etc. http://php.net/manual/en/function.fread.php Welk even flocken, anders gaan er andere processen naar willen schrijven en gaat het (mogelijk) fout.
In theory there is no difference between theory and practice. In practice there is.
pi_128531706
Dat doe ik dus nu, plus ik voeg 500 bytes extra toe om niets te missen... :D
Just say hi!
  Moderator / Redactie Sport / Devops woensdag 3 juli 2013 @ 11:50:21 #77
176766 crew  zoem
zoemt
pi_128532007
quote:
5s.gif Op woensdag 3 juli 2013 10:33 schreef Chandler het volgende:
:{ raar, kan iemand mij uitleggen waarom dit zo langzaam gaat? :@
Ja en nee. Dat hangt compleet van de gebruikte regex af. Een inefficiente regex kan (onnodig) lang duren, zeker als het om veel karakters gaat (oa ivm backtracking). Wat voor regex pattern gebruik je?
pi_128532386
"/[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,}/i"

Om emails te parsen! :) ik krijg links met documenten aangeleverd die ik moet omzetten naar een database tabel...
Just say hi!
  Moderator / Redactie Sport / Devops woensdag 3 juli 2013 @ 12:15:46 #79
176766 crew  zoem
zoemt
pi_128532931
Aha, de bekende email-regex :P

Ik zie een aantal nested quantifiers, wellicht is dit interessant leesvoer: Catastrophic backtracking.

Ik heb nu helaas niet de tijd om deze regex te optimaliseren, maar misschien wel een tip: probeer niet alles in een regex te vrotten. Je kunt ook ruwweg alle strings lijkende op emailadressen eruit halen en daarna de $matches array loopen voor een nadere validatiestap. Dus trek de filterstap en validatiestap wat uit elkaar.
  woensdag 3 juli 2013 @ 13:02:19 #80
187069 slacker_nl
Sicko pur sang
pi_128534603
quote:
0s.gif Op woensdag 3 juli 2013 12:00 schreef Chandler het volgende:
"/[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,}/i"

Om emails te parsen! :) ik krijg links met documenten aangeleverd die ik moet omzetten naar een database tabel...
Alles achter de @ kan je hiertegen aangooien:

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
{                                                                                                                                                                         
    # The following is stolen from:
    # http://cpansearch.perl.org/src/CREIN/Regexp-Common-dns-0.00_01/lib/Regexp/Common/dns.pm
    # So we don't need to install the dependency which is not in the Debian repository
    #    
    sub _domain {
        my %flags = @_;

        my $sep = '\.';

        my $letter      = '[a-zA-Z]';
        my $let_dig     = '[a-zA-Z0-9]';
        my $let_dig_hyp = '[-a-zA-Z0-9]';

        my %labels = (
            1035   => "(?:$letter(?:$let_dig|$let_dig_hyp\{1,61}$let_dig)?)",
            1123   => "(?:(?:$let_dig|$let_dig$let_dig_hyp*$let_dig)$sep)*(?:$let_dig|$let_dig$let_dig_hyp*$let_dig)",
            2181   => '[^.]{1,63}',
            hybrid => '[a-zA-Z0-9_-]{1,63}'
        );   

        $flags{'-rfc'} ||= 1035;

        my $label = $labels{$flags{'-rfc'}} || die("Unknown DNS RFC: $flags{'-rfc'}");

        if ($flags{'-rfc'} ne 2181 && exists $flags{'-wildcard'} && not defined $flags{'-wildcard'}) {
            $label = "(?:\\*|$label)";
        }    

        my $quant = '*'; 
        if ($flags{'-minlabels'}) {
            $quant = '{' . ($flags{'-minlabels'} - 1) . ',}';
        }    

        return qr/^(?:$label$sep)$quant$label$sep?$/;
    }    

    my $fqdn_regexp = _domain(-rfc => 1123, -minlabels => 2);

    use constant VALID_FQDN => sub {
        my $fqdn = shift;
        if ($fqdn && $fqdn =~ m/$fqdn_regexp/) {
            $fqdn =~ s/\.$//;
            return 0 if (length($fqdn) > 255);
            return 0 if (grep { length($_) > 63 } split(/\./, $fqdn));
            return 1;
        }    
        return 0;
    };   
}

Je mag het zelf verphp'en. Dan kan je vervolgens alles voor de @ ook nog eens goed parsen en dan ben je klaar.
In theory there is no difference between theory and practice. In practice there is.
  Moderator / Redactie Sport / Devops woensdag 3 juli 2013 @ 13:54:15 #81
176766 crew  zoem
zoemt
pi_128536936
En voor je het weet heb je zoiets: http://www.perlmonks.org/?node_id=393809 :X

Ik zou het lekker simpel houden. Als het even kan zou ik filter_var() (php >= 5.2.0) erbij betrekken voor de validatie.
pi_128540548
quote:
12s.gif Op woensdag 3 juli 2013 13:54 schreef zoem het volgende:
En voor je het weet heb je zoiets: http://www.perlmonks.org/?node_id=393809 :X

Ik zou het lekker simpel houden. Als het even kan zou ik filter_var() (php >= 5.2.0) erbij betrekken voor de validatie.
:D

filter_var gebruikt trouwens intern ook een enorme regex :P
..///
  maandag 8 juli 2013 @ 09:23:31 #83
25889 Sitethief
Fulltime Flapdrol
pi_128711732
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
    
public function compareValues($type,$compare1,$compare2){
        
$count1 =0;
        
$count2 =0;
        switch (
$type) {
            case 
'Doctype':
                
$var '\$v->data->doctype';
                break;

            default:
                break;
        }
        foreach(
$this->selectedData as $k=>$v){
            
$val 'empty';
            eval(
'$val = '.$var.';');
            if(
$val && $val === $compare1)++$count1;
            if(
$val && $val === $compare2)++$count2;
        }
        return 
$count1.$count2;
    }
?>

Ik wil deze functie gebruiken om dynamisch bepaalde waardes in een array met objecten te vergelijken. Het probleem is dat ik meerdere type data wil kunnen vergelijken die op meerdere plekken in het object zitten. Weet iemand of het mogelijk is om, met bijvoorbeeld eval, deze op een makkelijke manier dynamisch aan te maken? Anders moet ik die foreach in iedere case stoppen en dat vind ik toch niet een goede, beheersbare oplossing. Maar eval zelf is ook niet zo heel erg tof.

Wat ik tot nu toe kon vinden is dit alleen maar mogelijk bij statisch properties.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_128855608
Ik heb een query die raar doet wanneer ik gebruik wil maken van ORDER BY.

Zonder order by is deze query 0.0043 seconden, met ORDER BY `failed` kost deze query ruim 23 seconden!?

1
2
3
4
5
6
7
SELECT  `spider`.`id` AS spiderID,  
`spider`.`url` AS spiderURL,  
`spider`.`failed` AS spiderFailed
FROM  `spider` 
WHERE  `spider`.`project_id` =7
AND  `spider`.`processed` =0
LIMIT 1

Als ik een URL laad wil ik het liefst URLS laden die ik nog niet heb gehad (processed = 0) maar liefst ook de URLS die nog niet gelezen en mislukt zijn. Met huidige query lees ik deze 3x achter elkaar alvorens processed op 1 te zetten, alleen nu wilde ik met ORDER BY 'failed' ASC de URLS met een waarde die groter is dan 0 achter aan zetten en de URLS met waarde van 0 natuurlijk vooraan... oftewel eerst uitlezen.

Tabel
1
2
3
4
5
6
7
8
9
10
11
CREATE TABLE IF NOT EXISTS `spider` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `project_id` bigint(20) unsigned NOT NULL,
  `url` varchar(255) NOT NULL,
  `processed` tinyint(1) NOT NULL DEFAULT '0',
  `failed` tinyint(4) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `project_id_2` (`project_id`,`url`),
  KEY `failed` (`failed`),
  KEY `project_id` (`project_id`,`processed`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=103771614 ;

Iemand een idee? oh ik heb maar 17m regeltjes....
Just say hi!
  Moderator / Redactie Sport / Devops donderdag 11 juli 2013 @ 23:46:09 #85
176766 crew  zoem
zoemt
pi_128855743
Wat zegt EXPLAIN?
  donderdag 11 juli 2013 @ 23:49:58 #86
330295 Purplesparks
Lovercall baby
pi_128855903
quote:
0s.gif Op donderdag 11 juli 2013 23:42 schreef Chandler het volgende:
Ik heb een query die raar doet wanneer ik gebruik wil maken van ORDER BY.

Zonder order by is deze query 0.0043 seconden, met ORDER BY `failed` kost deze query ruim 23 seconden!?
[ code verwijderd ]

Als ik een URL laad wil ik het liefst URLS laden die ik nog niet heb gehad (processed = 0) maar liefst ook de URLS die nog niet gelezen en mislukt zijn. Met huidige query lees ik deze 3x achter elkaar alvorens processed op 1 te zetten, alleen nu wilde ik met ORDER BY 'failed' ASC de URLS met een waarde die groter is dan 0 achter aan zetten en de URLS met waarde van 0 natuurlijk vooraan... oftewel eerst uitlezen.

Tabel
[ code verwijderd ]

Iemand een idee? oh ik heb maar 17m regeltjes....
Natuurlijk niet het antwoord wat je zoekt. Maar je kan het via een omweg ook gewoon orderen binnen php lijkt me.
Touching from a distance ~
  donderdag 11 juli 2013 @ 23:51:32 #87
178193 Juicyhil
Bekende FOK!ker
pi_128855961
quote:
0s.gif Op donderdag 11 juli 2013 23:49 schreef Purplesparks het volgende:

[..]

Natuurlijk niet het antwoord wat je zoekt. Maar je kan het via een omweg ook gewoon orderen binnen php lijkt me.
Dat gaat je geheugen kosten _O-
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
  donderdag 11 juli 2013 @ 23:52:46 #88
330295 Purplesparks
Lovercall baby
pi_128856016
quote:
0s.gif Op donderdag 11 juli 2013 23:51 schreef Juicyhil het volgende:

[..]

Dat gaat je geheugen kosten _O-
True dat, maar een potentiële mogelijkheid als chandler niet de oplossing weet te vinden van de lange order tijd.
Touching from a distance ~
  donderdag 11 juli 2013 @ 23:54:51 #89
178193 Juicyhil
Bekende FOK!ker
pi_128856114
quote:
0s.gif Op donderdag 11 juli 2013 23:42 schreef Chandler het volgende:
Ik heb een query die raar doet wanneer ik gebruik wil maken van ORDER BY.

Zonder order by is deze query 0.0043 seconden, met ORDER BY `failed` kost deze query ruim 23 seconden!?
[ code verwijderd ]

Als ik een URL laad wil ik het liefst URLS laden die ik nog niet heb gehad (processed = 0) maar liefst ook de URLS die nog niet gelezen en mislukt zijn. Met huidige query lees ik deze 3x achter elkaar alvorens processed op 1 te zetten, alleen nu wilde ik met ORDER BY 'failed' ASC de URLS met een waarde die groter is dan 0 achter aan zetten en de URLS met waarde van 0 natuurlijk vooraan... oftewel eerst uitlezen.

Tabel
[ code verwijderd ]

Iemand een idee? oh ik heb maar 17m regeltjes....
Neem anders eens failed op in je where-clause. Dan hoeft hij in wat minder rijen te sorteren.
Edit: oh never mind, niet goed gelezen :P
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
  Moderator / Redactie Sport / Devops vrijdag 12 juli 2013 @ 00:02:55 #90
176766 crew  zoem
zoemt
pi_128856450
quote:
0s.gif Op donderdag 11 juli 2013 23:51 schreef Juicyhil het volgende:

[..]

Dat gaat je geheugen kosten _O-
Valt erg mee hoor als je het een beetje slim aanpakt, aangenomen dat er gewerkt wordt met een beperkte subset van de 17M rows (processed=0). Maar goed, de query optimaliseren heeft natuurlijk de voorkeur.

[ Bericht 0% gewijzigd door zoem op 12-07-2013 00:48:54 ]
pi_128865101
Ja, en het rare is dat er geen filesort gebruikt wordt, dus het orderen gebeurd toch echt wel in het geheugen (als ik check met explain). Dacht zelf ook dat ik de indexes goed had en dat blijkt wel, maar het vervelende blijft dat ik per query met order by een kleine 1000x zolang bezig ben...

Maar hebben jullie tips? oh en de beperkte set van 17m rows zijn in dit geval zo'n 0,5m rows :@

@zoom:

Zonder order by
1 SIMPLE spider ref project_id_2,project_id project_id 9 const,const 536370

Met order by
1 SIMPLE spider index project_id_2,project_id failed 1 NULL 39 Using where

[ Bericht 9% gewijzigd door Chandler op 12-07-2013 11:41:09 ]
Just say hi!
  vrijdag 12 juli 2013 @ 11:38:38 #92
330295 Purplesparks
Lovercall baby
pi_128865218
quote:
0s.gif Op vrijdag 12 juli 2013 11:35 schreef Chandler het volgende:
Ja, en het rare is dat er geen filesort gebruikt wordt, dus het orderen gebeurd toch echt wel in het geheugen (als ik check met explain). Dacht zelf ook dat ik de indexes goed had en dat blijkt wel, maar het vervelende blijft dat ik per query met order by een kleine 1000x zolang bezig ben...

Maar hebben jullie tips? oh en de beperkte set van 17m rows zijn in dit geval zo'n 3,5m rows :@
Gaat het ook zo traag wanneer je order by gebruikt in andere tabellen of alleen in deze?
Touching from a distance ~
pi_128865305
quote:
0s.gif Op vrijdag 12 juli 2013 11:38 schreef Purplesparks het volgende:

[..]

Gaat het ook zo traag wanneer je order by gebruikt in andere tabellen of alleen in deze?
Geen idee, rest van de tabellen zijn niet zo groot dus daar zal het allemaal wel meevallen... en daar zit het tijdsverlies in deze niet in....
Just say hi!
  vrijdag 12 juli 2013 @ 11:43:34 #94
330295 Purplesparks
Lovercall baby
pi_128865399
quote:
15s.gif Op vrijdag 12 juli 2013 11:40 schreef Chandler het volgende:

[..]

Geen idee, rest van de tabellen zijn niet zo groot dus daar zal het allemaal wel meevallen... en daar zit het tijdsverlies in deze niet in....
Okee, wilde alleen uitsluiten dat het om de 1 of andere vage reden niet aan je sql prog zelf lag.

Test je het trouwens lokaal allemaal?

[ Bericht 3% gewijzigd door Purplesparks op 12-07-2013 11:49:14 ]
Touching from a distance ~
  vrijdag 12 juli 2013 @ 13:04:15 #95
187069 slacker_nl
Sicko pur sang
pi_128867993
Hoe test je het eigenlijk, ben je de query via php aan het doen of die je het in een sql prompt?
In theory there is no difference between theory and practice. In practice there is.
pi_128868219
Zowel lokaal als online test ik dit, aangezien mijn lokale test omgeving maar uit zo'n 5m regels bestaat... maar goed, het is een laptop en de online server heeft nogal wat meer power en daar is het zelfs sloom :+

Query test ik via phpmyadmin, domweg omdat het gemakkelijk is! ;)
Just say hi!
  vrijdag 12 juli 2013 @ 13:55:34 #97
330295 Purplesparks
Lovercall baby
pi_128869760
quote:
14s.gif Op vrijdag 12 juli 2013 13:11 schreef Chandler het volgende:
Zowel lokaal als online test ik dit, aangezien mijn lokale test omgeving maar uit zo'n 5m regels bestaat... maar goed, het is een laptop en de online server heeft nogal wat meer power en daar is het zelfs sloom :+

Query test ik via phpmyadmin, domweg omdat het gemakkelijk is! ;)
Mijn stiefpa had een programma voor een bedrijf ontwikkeld, bij externe resultaten van bepaalde queries opvragen duurde het soms ook wel tot een minuut lang. Terwijl als hij het daar ter plekke testte een seconde of nog minder. Weet niet exact waar het aanlag maar hij heeft het opgelost. Hij maakte trouwens gebruik van delphi pascal in combinatie met een sql variant.
Touching from a distance ~
  Moderator / Redactie Sport / Devops vrijdag 12 juli 2013 @ 14:00:51 #98
176766 crew  zoem
zoemt
pi_128869951
quote:
0s.gif Op vrijdag 12 juli 2013 11:35 schreef Chandler het volgende:
Ja, en het rare is dat er geen filesort gebruikt wordt, dus het orderen gebeurd toch echt wel in het geheugen (als ik check met explain). Dacht zelf ook dat ik de indexes goed had en dat blijkt wel, maar het vervelende blijft dat ik per query met order by een kleine 1000x zolang bezig ben...

Maar hebben jullie tips? oh en de beperkte set van 17m rows zijn in dit geval zo'n 0,5m rows :@

@zoom:

Zonder order by
1 SIMPLE spider ref project_id_2,project_id project_id 9 const,const 536370

Met order by
1 SIMPLE spider index project_id_2,project_id failed 1 NULL 39 Using where
En wat doet een index op je WHERE clause én ORDER BY field(s)?

MySQL Performance Blog: ORDER BY … LIMIT Performance Optimization
MySQL Reference Manual: ORDER BY Optimization
pi_128907578
Ik heb het doorgelezen en ga het nog eens doorlezen want ben niet echt heel veel wijzer geworden dan dat ik al was :+ maar goed, in mijn geval zal ik het ws 3x moeten lezen :X
Just say hi!
  maandag 15 juli 2013 @ 11:29:04 #100
187069 slacker_nl
Sicko pur sang
pi_128965264
In theory there is no difference between theory and practice. In practice there is.
pi_129096654
Ik probeer iedereen met een andere ip naar een maintenance pagina te sturen.
Alle subdomeinen, directories en files moeten geredirect worden, behalve de directory /maintenance/, de inhoud ervan, en de file maintenance.php
Een van de 2 niet redirecten lukt wel, maar beiden niet

Wat doe ik fout?

RewriteCond %{REMOTE_ADDR} !=123.456.789.0
RewriteCond %{REQUEST_URI} !=/maintenance.php
RewriteCond %{REQUEST_URI} !^/maintenance($|/)
RewriteRule .* http://www.domain.com/maintenance.php [L]
  donderdag 18 juli 2013 @ 20:35:36 #102
187069 slacker_nl
Sicko pur sang
pi_129097768
quote:
0s.gif Op donderdag 18 juli 2013 19:57 schreef Darkomen het volgende:
Ik probeer iedereen met een andere ip naar een maintenance pagina te sturen.
Alle subdomeinen, directories en files moeten geredirect worden, behalve de directory /maintenance/, de inhoud ervan, en de file maintenance.php
Een van de 2 niet redirecten lukt wel, maar beiden niet

Wat doe ik fout?

RewriteCond %{REMOTE_ADDR} !=123.456.789.0
RewriteCond %{REQUEST_URI} !=/maintenance.php
RewriteCond %{REQUEST_URI} !^/maintenance($|/)
RewriteRule .* http://www.domain.com/maintenance.php [L]
Dat zou in 1 go moeten kunnen.

1
2
3
4
RewriteEngine on
LogLevel info rewrite:trace8 # Dit wil je na testen weer op sane values zetten, dus geen rewrite:info oid. of helemaal weg.
RewriteCond %{REQUEST_URI} !=/maintenance(.php)?/? # matched /maintenance.php /maintenance optioneel met / aan het einde
RewriteRule .* http://www.domain.com/maintenance.php [L] # volgens mij kanje ook [RL] gebruiken daar. 
In theory there is no difference between theory and practice. In practice there is.
pi_129102393
Leverde een infinite redirect op. :P
  woensdag 24 juli 2013 @ 15:42:00 #104
37634 wobbel
Da WoBBeL King
pi_129293687
Iemand ervaring met PHP en Websockets?

Ik gebruik nu http://www.binarytides.com/websockets-php-tutorial/ dit en dat werkt prima voor testen, maar ik wil juist op random momenten data erheen sturen

Hoe kan ik naar alle users die verbinding hebben een berichtje sturen met "hoi leuk dat je een websocket verbinding hebt"? Nu is alles een reactie op een actie van de user/browser.
  woensdag 24 juli 2013 @ 15:55:25 #105
178193 Juicyhil
Bekende FOK!ker
pi_129294109
quote:
0s.gif Op woensdag 24 juli 2013 15:42 schreef wobbel het volgende:
Iemand ervaring met PHP en Websockets?

Ik gebruik nu http://www.binarytides.com/websockets-php-tutorial/ dit en dat werkt prima voor testen, maar ik wil juist op random momenten data erheen sturen

Hoe kan ik naar alle users die verbinding hebben een berichtje sturen met "hoi leuk dat je een websocket verbinding hebt"? Nu is alles een reactie op een actie van de user/browser.
Je hebt geloof ik zo'n message-event. Daarop luisteren of er een berichtje binnenkomt. Deze kun je in die daemon vervolgens sturen naar alle clients
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
  woensdag 24 juli 2013 @ 15:56:16 #106
178193 Juicyhil
Bekende FOK!ker
pi_129294146
Oh wacht even, dat is een andere. Ik gebruikte deze: http://code.google.com/p/phpwebsocket/
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
  woensdag 24 juli 2013 @ 16:00:36 #107
37634 wobbel
Da WoBBeL King
pi_129294282
quote:
0s.gif Op woensdag 24 juli 2013 15:56 schreef Juicyhil het volgende:
Oh wacht even, dat is een andere. Ik gebruikte deze: http://code.google.com/p/phpwebsocket/
Maar daar vind ik ook niks in de documentatie hoe ik dat zou moeten doen.
  woensdag 24 juli 2013 @ 16:01:58 #108
178193 Juicyhil
Bekende FOK!ker
pi_129294330
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
  woensdag 24 juli 2013 @ 16:02:25 #109
37634 wobbel
Da WoBBeL King
pi_129294344
quote:
Die had ik ook al gegoogled :+ eens kijken hoe ze dat gefixsnorred hebben
  woensdag 24 juli 2013 @ 16:04:13 #110
63192 ursel
"Het Is Hier Fantastisch!
pi_129294406
ZeroMQ al bekeken?
pi_129797442
Juicyhil

voor dummies!!
Het woord dummies alleen al zegt genoeg.
Ik was of liever gezegd ik ben zo'n dummie , op de eerste plaats door me de PHP en MySQL bijbel te laten aanpraten een boek dat je niet ff op je schoot legt op er wat mee op te zoeken als je aan het scripten bent, en op de tweede plaats door PHP & MySQL voor DUMMIES te kopen via internet, want die redacteur die dat geschreven heeft moet toch wel erg kleurendoof euh blind geweest zijn
die voorbeelden die daar in staan kan men niet eens lezen zonder vergrootglas, had die idioot geen nou witte letters kunnen gebruiken.
PS.
ik zie nu dat de maker van deze site de zelfde problemen heeft met blauw op zwart en grijs op zwart in die inlog balk, ook als eens aan bezoekers met slechten ogen gedacht

[ Bericht 13% gewijzigd door Niek56 op 07-08-2013 17:30:22 ]
  vrijdag 9 augustus 2013 @ 09:39:31 #112
37634 wobbel
Da WoBBeL King
pi_129855910
Wat is de minst smerige methode om onderstaande code om te zetten naar een array?

1
2
3
4
5
6
7
8
9
10
11
12
13
-------------------------------------------------------------------------------
     Private IP :Port #Pseudo Port         Peer IP :Port  Interface
-------------------------------------------------------------------------------
      10.0.0.17 56086        57174     31.13.72.33   443    WAN2
      10.0.0.17 56089        57177  74.125.136.189   443    WAN2
      10.0.0.17 56092        57180    54.230.8.197    80    WAN2
      10.0.0.17 56093        57181    54.230.8.197    80    WAN2
      10.0.0.17 56094        57182    54.230.8.197    80    WAN2
      10.0.0.17 56095        57183    50.18.122.32    80    WAN2
      10.0.0.17 54041        55129  94.245.121.253  3544    WAN2
       10.0.0.5  5761        38849   89.184.172.50  5080    WAN1
      10.0.0.17 55688        56776  108.160.163.42    80    WAN2
      10.0.0.17 55722        56810   74.125.136.18   443    WAN2

Deze pruttel krijg ik plain text als output ergens uit, dus dat kan ik helaas niet aanpassen. De eerste regels mogen genegeerd worden, dat kan ik zelf wel fixen.
  vrijdag 9 augustus 2013 @ 09:44:04 #113
91039 mstx
2x1/2 = 1/2 x 1/2
pi_129856007
Zoiets?

1
2
3
4
5
6
7
8
9
<?php
    $regels 
explode("\n"$tekst);
    
    
$data = array();

    foreach ( 
$regels as $regel ) {
        
$data[] = array_map("trim"explode(" "$regel));
    }
?>
(niet getest)
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 9 augustus 2013 @ 09:46:04 #114
37634 wobbel
Da WoBBeL King
pi_129856052
quote:
0s.gif Op vrijdag 9 augustus 2013 09:44 schreef mstx het volgende:
Zoiets?
[ code verwijderd ]

(niet getest)
Exploden op een spatie wordt hem niet, aangezien alle whitespaces uit spaties bestaan (erg lastig, je krijgt dan een array met 100 dingen haha)

Ik heb nu het volgende:

1
2
3
<?php
$bier 
preg_split('/\s+/'"      10.0.0.17 55722        56810   74.125.136.18   443    WAN2");
?>

Alleen het eerste resultaat in de array is leeg :o
  vrijdag 9 augustus 2013 @ 09:48:15 #115
37634 wobbel
Da WoBBeL King
pi_129856103
ah, met array_filter lossen we dat weer op :+ ik heb 't zelf al opgelost :')
  FOK!-Schrikkelbaas vrijdag 9 augustus 2013 @ 09:48:46 #116
862 Arcee
Look closer
pi_129856110
quote:
0s.gif Op vrijdag 9 augustus 2013 09:46 schreef wobbel het volgende:
Exploden op een spatie wordt hem niet, aangezien alle whitespaces uit spaties bestaan (erg lastig, je krijgt dan een array met 100 dingen haha)
Dan vervang je eerst in een loopje alle dubbele spaties door een enkele zodat je uiteindelijk maar 1 spatie overhoudt.
  vrijdag 9 augustus 2013 @ 09:50:46 #117
91039 mstx
2x1/2 = 1/2 x 1/2
pi_129856160
1
2
3
4
5
6
7
8
9
10
<?php
    $regels 
explode("\n"preg_replace("/[[:blank:]]+/"," ",$tekst));
    
    
$data = array();

    foreach ( 
$regels as $regelnummer => $regel ) {

        if ( 
$regelnummer>$data[] = array_map("trim"explode(" "trim($regel)));
    }
?>

Resultaat:
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
95
96
97
98
99
100
101
102
103
Array
(
    [0] => Array
        (
            [0] => 10.0.0.17
            [1] => 56086
            [2] => 57174
            [3] => 31.13.72.33
            [4] => 443
            [5] => WAN2
        )

    [1] => Array
        (
            [0] => 10.0.0.17
            [1] => 56089
            [2] => 57177
            [3] => 74.125.136.189
            [4] => 443
            [5] => WAN2
        )

    [2] => Array
        (
            [0] => 10.0.0.17
            [1] => 56092
            [2] => 57180
            [3] => 54.230.8.197
            [4] => 80
            [5] => WAN2
        )

    [3] => Array
        (
            [0] => 10.0.0.17
            [1] => 56093
            [2] => 57181
            [3] => 54.230.8.197
            [4] => 80
            [5] => WAN2
        )

    [4] => Array
        (
            [0] => 10.0.0.17
            [1] => 56094
            [2] => 57182
            [3] => 54.230.8.197
            [4] => 80
            [5] => WAN2
        )

    [5] => Array
        (
            [0] => 10.0.0.17
            [1] => 56095
            [2] => 57183
            [3] => 50.18.122.32
            [4] => 80
            [5] => WAN2
        )

    [6] => Array
        (
            [0] => 10.0.0.17
            [1] => 54041
            [2] => 55129
            [3] => 94.245.121.253
            [4] => 3544
            [5] => WAN2
        )

    [7] => Array
        (
            [0] => 10.0.0.5
            [1] => 5761
            [2] => 38849
            [3] => 89.184.172.50
            [4] => 5080
            [5] => WAN1
        )

    [8] => Array
        (
            [0] => 10.0.0.17
            [1] => 55688
            [2] => 56776
            [3] => 108.160.163.42
            [4] => 80
            [5] => WAN2
        )

    [9] => Array
        (
            [0] => 10.0.0.17
            [1] => 55722
            [2] => 56810
            [3] => 74.125.136.18
            [4] => 443
            [5] => WAN2
        )

)
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 9 augustus 2013 @ 09:50:53 #118
12221 Tijn
Powered by MS Paint
pi_129856161
quote:
0s.gif Op vrijdag 9 augustus 2013 09:46 schreef wobbel het volgende:

[..]

Exploden op een spatie wordt hem niet, aangezien alle whitespaces uit spaties bestaan (erg lastig, je krijgt dan een array met 100 dingen haha)
Je zou daarna door de array kunnen gaan en alles wat geen spatie is gebruiken toch?

Anders kun je ook eerst dubbele spaties weghalen met zoiets:

1
2
3
<?php
preg_replace
('/(\s)+/'' '$string);
?>

Daarna kun je wel op spatie exploden.
  vrijdag 9 augustus 2013 @ 10:00:07 #119
37634 wobbel
Da WoBBeL King
pi_129856368
quote:
0s.gif Op vrijdag 9 augustus 2013 09:50 schreef mstx het volgende:

[ code verwijderd ]

Resultaat:
[ code verwijderd ]

Ik heb het op deze manier gedaan:

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
<?php
$string 
"-------------------------------------------------------------------------------
     Private IP :Port #Pseudo Port         Peer IP :Port  Interface
-------------------------------------------------------------------------------
      10.0.0.17 56086        57174     31.13.72.33   443    WAN2
      10.0.0.17 56089        57177  74.125.136.189   443    WAN2
      10.0.0.17 56092        57180    54.230.8.197    80    WAN2
      10.0.0.17 56093        57181    54.230.8.197    80    WAN2
      10.0.0.17 56094        57182    54.230.8.197    80    WAN2
      10.0.0.17 56095        57183    50.18.122.32    80    WAN2
      10.0.0.17 54041        55129  94.245.121.253  3544    WAN2
       10.0.0.5  5761        38849   89.184.172.50  5080    WAN1
      10.0.0.17 55688        56776  108.160.163.42    80    WAN2
      10.0.0.17 55722        56810   74.125.136.18   443    WAN2"
;

$count                                        0;

foreach ( 
preg_split("/((\r?\n)|(\r\n?))/"$string ) as $regel )
{
    
    if ( 
$count )
    {
        
        
$nat_array[] = array_filter preg_split('/\s+/'$regel ) );
                
    }
    
    
    
$count++;
    
}
echo 
"<pre>";
print_r $nat_array );
echo 
"</pre>";
?>

Output is als volgt:

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
95
96
97
98
99
100
101
102
103
Array
(
    [0] => Array
        (
            [1] => 10.0.0.17
            [2] => 56086
            [3] => 57174
            [4] => 31.13.72.33
            [5] => 443
            [6] => WAN2
        )

    [1] => Array
        (
            [1] => 10.0.0.17
            [2] => 56089
            [3] => 57177
            [4] => 74.125.136.189
            [5] => 443
            [6] => WAN2
        )

    [2] => Array
        (
            [1] => 10.0.0.17
            [2] => 56092
            [3] => 57180
            [4] => 54.230.8.197
            [5] => 80
            [6] => WAN2
        )

    [3] => Array
        (
            [1] => 10.0.0.17
            [2] => 56093
            [3] => 57181
            [4] => 54.230.8.197
            [5] => 80
            [6] => WAN2
        )

    [4] => Array
        (
            [1] => 10.0.0.17
            [2] => 56094
            [3] => 57182
            [4] => 54.230.8.197
            [5] => 80
            [6] => WAN2
        )

    [5] => Array
        (
            [1] => 10.0.0.17
            [2] => 56095
            [3] => 57183
            [4] => 50.18.122.32
            [5] => 80
            [6] => WAN2
        )

    [6] => Array
        (
            [1] => 10.0.0.17
            [2] => 54041
            [3] => 55129
            [4] => 94.245.121.253
            [5] => 3544
            [6] => WAN2
        )

    [7] => Array
        (
            [1] => 10.0.0.5
            [2] => 5761
            [3] => 38849
            [4] => 89.184.172.50
            [5] => 5080
            [6] => WAN1
        )

    [8] => Array
        (
            [1] => 10.0.0.17
            [2] => 55688
            [3] => 56776
            [4] => 108.160.163.42
            [5] => 80
            [6] => WAN2
        )

    [9] => Array
        (
            [1] => 10.0.0.17
            [2] => 55722
            [3] => 56810
            [4] => 74.125.136.18
            [5] => 443
            [6] => WAN2
        )

)

Nu wil ik alleen nog de mogelijkheid om dubbelen [3] waardes te achterhalen...ik wil netjes alles weer per regel outputten, en als er dubbele [3] regels zijn deze vet maken maken.

voorbeeldje:

10.0.0.17 56086 57174 31.13.72.33 443 WAN2
10.0.0.17 56089 57177 74.125.136.189 443 WAN2
10.0.0.17 56092 57174 54.230.8.197 80 WAN2
10.0.0.17 55688 56776 108.160.163.42 80 WAN2
10.0.0.17 55722 56810 74.125.136.18 443 WAN2

Eens zoeken hoe dat moet met multidimensionale arrays

[ Bericht 22% gewijzigd door wobbel op 09-08-2013 10:08:30 ]
  vrijdag 9 augustus 2013 @ 10:47:40 #120
37634 wobbel
Da WoBBeL King
pi_129857445
Gelukt met deze beunhaas oplossing

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
<?php
$string 
"-------------------------------------------------------------------------------
     Private IP :Port #Pseudo Port         Peer IP :Port  Interface
-------------------------------------------------------------------------------
      10.0.0.17 56086        57174     31.13.72.33   443    WAN2
      10.0.0.17 56089        57177  74.125.136.189   443    WAN2
      10.0.0.17 56092        57180    54.230.8.197    80    WAN2
      10.0.0.17 56093        57181    54.230.8.197    80    WAN2
      10.0.0.17 56094        57182    54.230.8.197    80    WAN2
      10.0.0.17 56095        56810    50.18.122.32    80    WAN2
      10.0.0.17 54041        55129  94.245.121.253  3544    WAN2
       10.0.0.5  5761        38849   89.184.172.50  5080    WAN1
      10.0.0.17 55688        56776  108.160.163.42    80    WAN2
      10.0.0.17 55722        56810   74.125.136.18   443    WAN2"
;

$count                                                    0;
$nat_array                                                = array (  );
$pseudo_array                                            = array (  );

foreach ( 
preg_split("/((\r?\n)|(\r\n?))/"$string ) as $regel )
{
    
    if ( 
$count )
    {
        
        
$nat_array[$count] = array_filter preg_split('/\s+/'$regel6PREG_SPLIT_NO_EMPTY ) );
        
$pseudo_array[] = $nat_array[$count][2];
                
    }    
    
    
$count++;
    
}

$pseudo_count                                            array_count_values $pseudo_array );

foreach ( 
$nat_array as $key => $value )
{
    
    echo 
"Key: " $key "<br />";
    echo 
"IP: " $value[0] . "<br />";
    echo 
"Pseudo poort: " $value[2] . "<br />";
    if ( 
$pseudo_count[$value[2]] > )
    {
        
        echo 
"Dubbel: Jep!<br /><br />";
        
    }
    else
    {
        
        echo 
"Dubbel: nee<br /><br />";

    }

}
?>
  zondag 11 augustus 2013 @ 11:27:19 #121
84926 WyriHaximus
Release the hounds smithers!
pi_129929829
quote:
0s.gif Op woensdag 24 juli 2013 15:42 schreef wobbel het volgende:
Iemand ervaring met PHP en Websockets?

Ik gebruik nu http://www.binarytides.com/websockets-php-tutorial/ dit en dat werkt prima voor testen, maar ik wil juist op random momenten data erheen sturen

Hoe kan ik naar alle users die verbinding hebben een berichtje sturen met "hoi leuk dat je een websocket verbinding hebt"? Nu is alles een reactie op een actie van de user/browser.
Al eens naar Ratchet gekeken? http://socketo.me/ En idd ook 0MQ zoals ursel al zegt.
phluphy for president!
pi_130038473
error handling 101 :')

graag verwijderen
pi_130061097
Kun je artikelen en forum posts beter in bestanden zetten of in een mysql tabel wat betreft prestaties..?

Want op een site waar ik zit wou iemand een nieuwe versie maken zeg maar en die ging alle artikelen en forum posts in bestandjes en mappen zetten met beperkte info in mysql en ik vroeg me af of dat wel nut ofzo had..
  woensdag 14 augustus 2013 @ 16:38:54 #124
178193 Juicyhil
Bekende FOK!ker
pi_130061346
quote:
0s.gif Op dinsdag 13 augustus 2013 22:49 schreef fyah het volgende:
error handling 101 :')

[ afbeelding ]
Mijn exceptions zijn altijd iets in de zin van 'Er is iets misgegaan' :@
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
  woensdag 14 augustus 2013 @ 18:33:51 #125
118585 Crutch
Filantroop || Taalzwengel
pi_130064794
quote:
0s.gif Op woensdag 14 augustus 2013 16:31 schreef Skunk-m het volgende:
Kun je artikelen en forum posts beter in bestanden zetten of in een mysql tabel wat betreft prestaties..?

Want op een site waar ik zit wou iemand een nieuwe versie maken zeg maar en die ging alle artikelen en forum posts in bestandjes en mappen zetten met beperkte info in mysql en ik vroeg me af of dat wel nut ofzo had..
Nah, zoekt zo moeilijk
Je moeder is een hamster
  Moderator / Redactie Sport / Devops woensdag 14 augustus 2013 @ 19:45:18 #126
176766 crew  zoem
zoemt
pi_130066689
quote:
0s.gif Op woensdag 14 augustus 2013 16:31 schreef Skunk-m het volgende:
Kun je artikelen en forum posts beter in bestanden zetten of in een mysql tabel wat betreft prestaties..?

Want op een site waar ik zit wou iemand een nieuwe versie maken zeg maar en die ging alle artikelen en forum posts in bestandjes en mappen zetten met beperkte info in mysql en ik vroeg me af of dat wel nut ofzo had..
Databases zijn daar júist voor bedoeld. Van enkele miljoenen records ligt een rdbms absoluut niet wakker. Databases op zichzelf zijn ook gewoon bestanden, waarbij de opslagwijze afhangt van de gekozen storage engine. Dus in feite probeert hij zijn eigen databasesysteem te ontwerpen. Leuk als hobbyprojectje ter leer ende vermaeck, maar totaal niet aan te raden. Je gaat geheid tegen problemen oplopen naarmate het complexer/drukker wordt tot op het punt dat het systeem niet meer houdbaar is :)

Wat ik me wel voor kan stellen is dat items als afbeeldingen apart op de schijf worden geplaatst.
  † In Memoriam † woensdag 14 augustus 2013 @ 21:12:26 #127
159335 Boze_Appel
Vrij Fruit
pi_130070636
quote:
0s.gif Op dinsdag 13 augustus 2013 22:49 schreef fyah het volgende:
error handling 101 :')

[ afbeelding ]
Altijd leuk, wazige foutmeldingen of boos commentaar in code.
Carpe Libertatem
pi_130082836
quote:
0s.gif Op woensdag 14 augustus 2013 19:45 schreef zoem het volgende:

[..]

Databases zijn daar júist voor bedoeld. Van enkele miljoenen records ligt een rdbms absoluut niet wakker. Databases op zichzelf zijn ook gewoon bestanden, waarbij de opslagwijze afhangt van de gekozen storage engine. Dus in feite probeert hij zijn eigen databasesysteem te ontwerpen. Leuk als hobbyprojectje ter leer ende vermaeck, maar totaal niet aan te raden. Je gaat geheid tegen problemen oplopen naarmate het complexer/drukker wordt tot op het punt dat het systeem niet meer houdbaar is :)

Wat ik me wel voor kan stellen is dat items als afbeeldingen apart op de schijf worden geplaatst.
Ok, als ik dat soort rare fratsen zie denk ik altijd die zullen wel iets weten waar ik niks vanaf weet en dat zal kwa prestatie waarschijnlijk schelen ofzo...

Maar het is wel beter voor prestaties om de tekst inhoud in een aparte tabel te zetten bij forum of niet..?
  Moderator / Redactie Sport / Devops donderdag 15 augustus 2013 @ 18:01:58 #129
176766 crew  zoem
zoemt
pi_130102724
quote:
0s.gif Op donderdag 15 augustus 2013 01:03 schreef Skunk-m het volgende:
Maar het is wel beter voor prestaties om de tekst inhoud in een aparte tabel te zetten bij forum of niet..?
Ja, hoe wou het je anders doen? ;) Dat volgt uit het normalisatieproces. Reacties horen opgeslagen te worden in een reactietabel, die dan bijvoorbeeld weer gelinkt kan zijn aan een topictabel.

Zie StackOverflow: How to design a database design for forums?
  Redactie Sport / Supervogel donderdag 15 augustus 2013 @ 18:07:33 #130
270182 crew  Pino112
Pino van Luna O+
pi_130102853
quote:
0s.gif Op dinsdag 13 augustus 2013 22:49 schreef fyah het volgende:
error handling 101 :')

[ afbeelding ]
:D
pi_130130551
Iemand ervaring met Php Ming
Ik maak hier namelijk een flash swf mee van een set foto's, en dat werkt allemaal prima, ziet er perfect uit in de browser.
Maar als je het upload naar youtube dan duurt het filmpje maar 1 seconde.

Het lijkt erop dat de framerate en en aantal frames niet juist doorkomen, terwijl ik die wel zet!
Als ik namelijk dmv ffmpeg probeer te converten naar bijvoorbeeld mp4 dan zie ik dat de swf geen frame en bit rate heeft.
Heb het script even niet hier, maandag kan ik die wel even posten.
pi_130155879
quote:
0s.gif Op donderdag 15 augustus 2013 18:01 schreef zoem het volgende:

[..]

Ja, hoe wou het je anders doen? ;) Dat volgt uit het normalisatieproces. Reacties horen opgeslagen te worden in een reactietabel, die dan bijvoorbeeld weer gelinkt kan zijn aan een topictabel.

Zie StackOverflow: How to design a database design for forums?
Ik bedoel dat wat ze daar de body noemen in een aparte tabel komt..

bij kunena (een joomla forum) bijvoorbeeld hebben ze een tabel messages met de volgende velden (staan zowel topics als reacties in)
id
parent
thread
catid
name
userid
email
subject
time
ip
topic_emoticon
locked
hold
ordering
hits
moved
modified_by
modified_time
modified_reason

En messages_text met
messid
message

Neem aan dat dat sneller is voor index pagina enzo waar je de inhoud van de post niet nodig hebt..?
Misschien ook wel bij het zoeken naar de posts bij het topic dat geladen word..?

[ Bericht 2% gewijzigd door Skunk-m op 17-08-2013 01:38:01 ]
pi_130161268
lijkt me weinig boeiend als je gewoon goeie indexes hebt.
pi_130307908
quote:
0s.gif Op vrijdag 16 augustus 2013 14:28 schreef Darkomen het volgende:
Iemand ervaring met Php Ming
Ik maak hier namelijk een flash swf mee van een set foto's, en dat werkt allemaal prima, ziet er perfect uit in de browser.
Maar als je het upload naar youtube dan duurt het filmpje maar 1 seconde.

Het lijkt erop dat de framerate en en aantal frames niet juist doorkomen, terwijl ik die wel zet!
Als ik namelijk dmv ffmpeg probeer te converten naar bijvoorbeeld mp4 dan zie ik dat de swf geen frame en bit rate heeft.
Heb het script even niet hier, maandag kan ik die wel even posten.
Ok Ming de deur uit, image2mpeg gebruikt, werk goed!

Toch jammer dat niemand ervaring lijkt te hebben met MING...
pi_130825511
Ik heb 2 tables: 1 table met een overzicht van Id's en 1 table met info per Id. Wat is de meest efficiënte manier om alle info per Id per MasterId uit de tables te halen?

Table 1:
1
2
3
4
5
6
7
8
+----------+--------+------+-------+------+------+
| MasterId | Id1    |  Id2 |  Id3  | Id4  | ...  | 
+----------+--------+------+-------+------+------+
|        1 |  1854  |  512 |  4561 |  813 | ...  |  
|        2 |  6484  |  468 |  1681 | 6818 | ...  | 
|        5 |  7871  | 1684 | 46841 | 6581 | ...  |
|      ... |   ...  | ...  | ...   | ...  | ...  |
+----------+--------+------+-------+------+------+

Table 2:
1
2
3
4
5
6
7
8
+------+--+-------+------------+-----+-----+
|  Id  |  | Name  |    Date    | ... | ... |
+------+--+-------+------------+-----+-----+
| 512  |  | Jan   | 09-08-1991 | ... | ... |
| 6818 |  | Piet  | 02-07-1980 | ... | ... |
| 6581 |  | Klaas | 12-04-1975 | ... |  .. |
| ...  |  | ...   | ...        | ... | ... |
+------+--+-------+------------+-----+-----+

Ik wil dus alle info voor elke Id per MasterId. Voor MasterId 1 wil ik graag de naam, datum en de rest van de info hebben voor de Id's 1854, 512, 4561 en 813. Dit is een voorbeeld, in m'n echte tabel heb ik duizenden MasterId's en per Id +/- 50 kolommen met info. Ik weet hoe ik dmv PHP een foreach loop kan maken en zo een aparte query voor elke Id per MasterId te laten uitvoeren, maar dat lijkt me hoogst inefficiënt. Wat zouden jullie doen?
  woensdag 4 september 2013 @ 20:53:57 #136
187069 slacker_nl
Sicko pur sang
pi_130825818
quote:
0s.gif Op woensdag 4 september 2013 20:46 schreef pascal08 het volgende:
Ik heb 2 tables: 1 table met een overzicht van Id's en 1 table met info per Id. Wat is de meest efficiënte manier om alle info per Id per MasterId uit de tables te halen?

Table 1:
[ code verwijderd ]

Table 2:
[ code verwijderd ]

Ik wil dus alle info voor elke Id per MasterId. Voor MasterId 1 wil ik graag de naam, datum en de rest van de info hebben voor de Id's 1854, 512, 4561 en 813. Dit is een voorbeeld, in m'n echte tabel heb ik duizenden MasterId's en per Id +/- 50 kolommen met info. Ik weet hoe ik dmv PHP een foreach loop kan maken en zo een aparte query voor elke Id per MasterId te laten uitvoeren, maar dat lijkt me hoogst inefficiënt. Wat zouden jullie doen?
id1, id2 en id3 zijn obfuscated namen of...? Kunnen die id's in al die kolommen terug te vinden zijn?
In theory there is no difference between theory and practice. In practice there is.
pi_130826053
quote:
0s.gif Op woensdag 4 september 2013 20:53 schreef slacker_nl het volgende:

[..]

id1, id2 en id3 zijn obfuscated namen of...? Kunnen die id's in al die kolommen terug te vinden zijn?
Uhmm... die Id's in table 1 zijn terug te vinden in de Id-kolom in table 2, ja... (als je dat bedoelt). Een Id in table 1 kan ook leeg zijn. In de echte tabel zijn er 18 (of minder) Id's per MasterId. Er zijn dus 18 kolommen voor de Id's waarvan sommige NULL kunnen bevatten.

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.


[ Bericht 8% gewijzigd door pascal08 op 04-09-2013 21:03:51 ]
  woensdag 4 september 2013 @ 21:08:26 #138
91039 mstx
2x1/2 = 1/2 x 1/2
pi_130826486
quote:
0s.gif Op woensdag 4 september 2013 20:58 schreef pascal08 het volgende:

[..]

Uhmm... die Id's in table 1 zijn terug te vinden in de Id-kolom in table 2, ja... (als je dat bedoelt). Een Id in table 1 kan ook leeg zijn. In de echte tabel zijn er 18 (of minder) Id's per MasterId. Er zijn dus 18 kolommen voor de Id's waarvan sommige NULL kunnen bevatten.

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.
Welke aap heeft dat bedacht?
* mstx mompelt iets over een koppeltabel
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_130826523
quote:
0s.gif Op woensdag 4 september 2013 21:08 schreef mstx het volgende:

[..]

Welke aap heeft dat bedacht?
* mstx mompelt iets over een koppeltabel
Geef eens een voorbeeldje. :@ :D
  woensdag 4 september 2013 @ 21:11:56 #140
91039 mstx
2x1/2 = 1/2 x 1/2
pi_130826624
quote:
0s.gif Op woensdag 4 september 2013 21:09 schreef pascal08 het volgende:

[..]

Geef eens een voorbeeldje. :@ :D
Extra tabel met 2 kolommen: squad_id | player_id
Voor elke player die aan een squad gekoppeld is 1 rij.
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_130826765
quote:
0s.gif Op woensdag 4 september 2013 21:11 schreef mstx het volgende:

[..]

Extra tabel met 2 kolommen: squad_id | player_id
Voor elke player die aan een squad gekoppeld is 1 rij.
Ik snap 'm. Dat is dus efficiënter dan dit volgens jou? Ik kan me in ieder geval voorstellen dat de queries een stuk makkelijker worden. :)
  woensdag 4 september 2013 @ 21:18:36 #142
91039 mstx
2x1/2 = 1/2 x 1/2
pi_130826927
quote:
0s.gif Op woensdag 4 september 2013 21:14 schreef pascal08 het volgende:

[..]

Ik snap 'm. Dat is dus efficiënter dan dit volgens jou?
Ja, want:
- Oneindig aantal players zonder de tabel aan te hoeven passen
- Geen onnodig lege kolommen
- Makkelijk kunnen aangeven dat een relatie uniek moet zijn
- Met 1 simpele query alle players van een squad kunnen ophalen

Leesvoer: http://nl.wikipedia.org/wiki/Databasenormalisatie http://www.tekstenuitleg.(...)en/veel-op-veel.html
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.
👾
  woensdag 4 september 2013 @ 21:36:46 #143
187069 slacker_nl
Sicko pur sang
pi_130827861
OMG... ja, nou, het kan allemaal, maar het is kut met peren zoals het nu is. Back to the drawing board.

Anders was het gewoon een simpele join, nu is het <moederneukend> dramatisch.
In theory there is no difference between theory and practice. In practice there is.
pi_130830065
Ik heb zelf een shoutbox geschreven.. die werkt volledig los van phpbb (op stukje wat nodig om de gebruikersnaam te checken na) gewoon goed.. maar die moet verwerkt worden op een plek in phpbb

maar ik heb geen flauw idee hoe dat allemaal in elkaar zit het bestand in het template waar ik em moet hebben is een html bestand..

Weet iemand hoe ik iets daartussen krijg?
pi_130831888
quote:
0s.gif Op woensdag 4 september 2013 21:18 schreef mstx het volgende:

[..]

Ja, want:
- Oneindig aantal players zonder de tabel aan te hoeven passen
- Geen onnodig lege kolommen
- Makkelijk kunnen aangeven dat een relatie uniek moet zijn
- Met 1 simpele query alle players van een squad kunnen ophalen

Leesvoer: http://nl.wikipedia.org/wiki/Databasenormalisatie http://www.tekstenuitleg.(...)en/veel-op-veel.html
Bedankt, dit is echt een nuttige post. Ik google zelf heel graag, maar soms is het lastig om de juiste info te vinden als je niet weet waarvoor je moet zoeken. Thanks dus. ;) ^O^
pi_130849672
Weet niet of dit de juist plek is om het te vragen (waarschijnlijk niet, maar toch) maar hoe kun je in phpbb voor elkaar krijgen dat de topics uit subcategorien door elkaar weergegeven worden in de hoofdcategorie.. dus eigenlijk hetzelfde als dat je hier in digital corner alle topics uit hardware, software etc. door elkaar hebt.??

De vraag die ik eerder stelde heb k al enigzins opgelost.. heb het php gedeelte in language/common.php gezet en aan de array toegevoegd en zo weer laten geven in de template.

EDIT: en nu ik toch een post heb gemaakt, weet er iemand toevallig een externe afbeelding host die gif ondersteunt?

[ Bericht 7% gewijzigd door Skunk-m op 05-09-2013 15:35:33 ]
pi_130852912
Alles is mogelijk, of wil je precies weten hoe en waar?

Gifs kan je hosten op imgur.com.
pi_130911228
quote:
0s.gif Op woensdag 4 september 2013 21:18 schreef mstx het volgende:

[..]

Ja, want:
- Oneindig aantal players zonder de tabel aan te hoeven passen
- Geen onnodig lege kolommen
- Makkelijk kunnen aangeven dat een relatie uniek moet zijn
- Met 1 simpele query alle players van een squad kunnen ophalen

Leesvoer: http://nl.wikipedia.org/wiki/Databasenormalisatie http://www.tekstenuitleg.(...)en/veel-op-veel.html
Ik heb m'n database veranderd. Nu heb ik 1 database met teams en 1 database met spelers. Ik heb alleen geen flauw idee hoe ik nu alleen teams selecteer met spelers met een bepaalde eigenschap.

Voorbeeldje:

1
2
3
4
5
6
7
+----------+---------------+
| Squad_ID |     Name      |
+----------+---------------+
|        1 | Goed team     |
|        2 | Slecht tiem   |
|        3 | Matig teampje |
+----------+---------------+

1
2
3
4
5
6
7
8
9
10
11
12
13
+----------+-----------+---------------+--+
| Squad_ID | Player_ID | Player_rating |  |
+----------+-----------+---------------+--+
|        1 |         5 |            50 |  |
|        1 |         8 |            40 |  |
|        1 |        24 |            60 |  |
|        2 |       548 |            70 |  |
|        2 |       687 |            70 |  |
|        3 |         5 |            80 |  |
|        3 |        70 |            40 |  |
|        3 |       940 |            40 |  |
|        3 |       486 |            50 |  |
+----------+-----------+---------------+--+

M'n query wordt dan:

1
2
3
SELECT *
FROM squads s
JOIN players_in_squads p ON s.squad_id = p.squad_id

...toch?

Hoe moet ik nu teams selecteren met spelers die allemaal een rating boven de 60 hebben?
  zaterdag 7 september 2013 @ 11:45:48 #149
137776 boem-dikkie
Jedi Mind Baby!
pi_130912042
Gewoon met een WHERE achter je query?
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_130912064
quote:
0s.gif Op zaterdag 7 september 2013 11:02 schreef pascal08 het volgende:

[..]

Ik heb m'n database veranderd. Nu heb ik 1 database met teams en 1 database met spelers. Ik heb alleen geen flauw idee hoe ik nu alleen teams selecteer met spelers met een bepaalde eigenschap.

Voorbeeldje:
[ code verwijderd ]

[ code verwijderd ]

M'n query wordt dan:
[ code verwijderd ]

...toch?

Hoe moet ik nu teams selecteren met spelers die allemaal een rating boven de 60 hebben?
1
2
3
4
SELECT *
FROM squads s
JOIN players_in_squads p ON s.squad_id = p.squad_id
WHERE p.Player_rating > 60
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
pi_130912105
quote:
7s.gif Op zaterdag 7 september 2013 11:45 schreef boem-dikkie het volgende:
Gewoon met een WHERE achter je query?
1WHERE p.player_rating > 60

Dat levert alle teams met tenminste 1 speler met een rating boven de 60.

Nu wil ik alleen teams waarvan alle spelers een rating boven de 60 hebben. Ik ben zo slecht met SQL. ;(
pi_130913412
quote:
0s.gif Op zaterdag 7 september 2013 11:48 schreef pascal08 het volgende:

[..]
[ code verwijderd ]

Dat levert alle teams met tenminste 1 speler met een rating boven de 60.

Nu wil ik alleen teams waarvan alle spelers een rating boven de 60 hebben. Ik ben zo slecht met SQL. ;(
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.
EDIT: Ik heb de oplossing gevonden! *O*
http://sqlfiddle.com/#!2/481b7/17


[ Bericht 2% gewijzigd door pascal08 op 07-09-2013 13:26:21 ]
pi_130915123
Weet niet of dit de juiste locatie is om het te vragen maar wat betekent het wanneer jouw "initial connection" erg traag is? Wat kan ik daar aan doen? Heeft dat met de server of de website zelf te maken?
pi_130916017
Zou wel handig zijn om te weten wat voor connectie
pi_130924492
1
2
3
4
5
6
SELECT s.*
FROM squads s
LEFT JOIN players_in_squads ps
    ON ps.squad_id = s.squad_id
    AND ps.player_rating < 60
WHERE ps.squad_id IS NULL

Een team met alleen spelers met een rating van 60 of meer heeft geen enkele speler met een rating van minder dan 60.
pi_130979637
quote:
0s.gif Op zaterdag 7 september 2013 14:33 schreef totalvamp het volgende:
Zou wel handig zijn om te weten wat voor connectie
Ik ben hier redelijk noob in, maar initial connection speed heeft te maken met het inladen van de eerste byte.

Gaat een VPS veel beter zijn dan shared hosting? Ik wil namelijk een vlotte site draaien gericht op het buitenland. Ik heb nu namelijk een aanbieding op het oog, maar 0,5ghz en 356mb ram oid. Is dat genoeg voor een blog die eventueel vaak bezocht zal gaan worden?

[ Bericht 9% gewijzigd door Apekoek op 09-09-2013 11:03:55 ]
pi_130980510
quote:
1s.gif Op maandag 9 september 2013 10:41 schreef Apekoek het volgende:

[..]

Ik ben hier redelijk noob in, maar initial connection speed heeft te maken met het inladen van de eerste byte.
Eerste byte van wat? :s In welke context kwam je de term tegen?
Tegenwoordig moet je Dr. Ir. zijn om een beetje correct Nederlands te kunnen neerpleuren.
Abusing semicolons since 1987.
  Moderator / Redactie Sport / Devops maandag 9 september 2013 @ 11:19:34 #158
176766 crew  zoem
zoemt
pi_130980706
quote:
1s.gif Op maandag 9 september 2013 10:41 schreef Apekoek het volgende:
Gaat een VPS veel beter zijn dan shared hosting? Ik wil namelijk een vlotte site draaien gericht op het buitenland. Ik heb nu namelijk een aanbieding op het oog, maar 0,5ghz en 356mb ram oid. Is dat genoeg voor een blog die eventueel vaak bezocht zal gaan worden?
Wat is veelbezocht? Ik vind de aangeboden specs eigenlijk erg karig. Voor nog geen 10E per maand kun je elders meer dan het dubbele huren.
pi_130982101
quote:
0s.gif Op maandag 9 september 2013 11:19 schreef zoem het volgende:

[..]

Wat is veelbezocht? Ik vind de aangeboden specs eigenlijk erg karig. Voor nog geen 10E per maand kun je elders meer dan het dubbele huren.
Tussen de 200 en 400 bezoekers per dag.

Het is een website die voor een ander land is bedoelt. VPS server mogelijkheden zijn daar minder en dus duurder, vandaar. Echter is een Nederlandse VPS ook goed voor een site buiten NL gericht? Ik heb begrepen dat je dan alsnog in Google van het desbetreffende land minder goed rankt.
  Moderator / Redactie Sport / Devops maandag 9 september 2013 @ 12:36:14 #160
176766 crew  zoem
zoemt
pi_130982552
quote:
1s.gif Op maandag 9 september 2013 12:15 schreef Apekoek het volgende:

[..]

Tussen de 200 en 400 bezoekers per dag.

Het is een website die voor een ander land is bedoelt. VPS server mogelijkheden zijn daar minder en dus duurder, vandaar. Echter is een Nederlandse VPS ook goed voor een site buiten NL gericht? Ik heb begrepen dat je dan alsnog in Google van het desbetreffende land minder goed rankt.
Dat klopt, het kan ietwat schelen in ranking. De weging ervan is echter lang niet zo zwaar als het hebben van goede content. Er zijn Nederlandse hostingpartijen die geolocalisatie aanbieden; wie weet is dat een optie (bijv OVH)
pi_130982658
quote:
0s.gif Op maandag 9 september 2013 12:36 schreef zoem het volgende:

[..]

Dat klopt, het kan ietwat schelen in ranking. De weging ervan is echter lang niet zo zwaar als het hebben van goede content. Er zijn Nederlandse hostingpartijen die geolocalisatie aanbieden; wie weet is dat een optie (bijv OVH)
Het land ligt niet in Europa, toch goed om hier even naar te kijken.
pi_131014305
quote:
1s.gif Op maandag 9 september 2013 10:41 schreef Apekoek het volgende:

[..]

Ik ben hier redelijk noob in, maar initial connection speed heeft te maken met het inladen van de eerste byte.

Gaat een VPS veel beter zijn dan shared hosting? Ik wil namelijk een vlotte site draaien gericht op het buitenland. Ik heb nu namelijk een aanbieding op het oog, maar 0,5ghz en 356mb ram oid. Is dat genoeg voor een blog die eventueel vaak bezocht zal gaan worden?
Hangt ook samen met de blog-software. Sommige blog-software neem geen genoegen met 356 MB.
Tegenwoordig moet je Dr. Ir. zijn om een beetje correct Nederlands te kunnen neerpleuren.
Abusing semicolons since 1987.
pi_131019382
Ik begin Symfony2 een beetje onder de knie te krijgen. Werkt wel geniaal zeg!
pi_131019715
quote:
17s.gif Op dinsdag 10 september 2013 12:33 schreef KomtTijd... het volgende:
Ik begin Symfony2 een beetje onder de knie te krijgen. Werkt wel geniaal zeg!
Ik hoop er binnenkort mee aan de slag te mogen voor een klant.
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
  dinsdag 10 september 2013 @ 18:02:57 #165
118585 Crutch
Filantroop || Taalzwengel
pi_131029727
quote:
17s.gif Op dinsdag 10 september 2013 12:33 schreef KomtTijd... het volgende:
Ik begin Symfony2 een beetje onder de knie te krijgen. Werkt wel geniaal zeg!
Werkt erg fijn inderdaad.
Zowel Twig als Doctrine zijn ook erg handig.
Moest aan het begin nog wel even wennen aan de verschillende manieren om de zooi te configuren (yml,php annotation), maar heb nu wel mijn draai gevonden. Mijn werkgever laat mij een dezer maanden een Symfony-project doen, dus ben benieuwd.
Je moeder is een hamster
pi_131029974
Ja idd, dat maakt het er niet altijd duidelijker van. Het is voor mij ook voor het eerst dat ik echt OO werk dus het is wel even wennen en een hoop leren, maar ik merk nu al hoe makkelijk het is om sommige dingen te bouwen.
  dinsdag 10 september 2013 @ 18:24:34 #167
118585 Crutch
Filantroop || Taalzwengel
pi_131030382
quote:
14s.gif Op dinsdag 10 september 2013 18:11 schreef KomtTijd... het volgende:
Ja idd, dat maakt het er niet altijd duidelijker van. Het is voor mij ook voor het eerst dat ik echt OO werk dus het is wel even wennen en een hoop leren, maar ik merk nu al hoe makkelijk het is om sommige dingen te bouwen.
Ik ben erg OO-minded en ben daarom blij verrast met Doctrine.

Trouwens.. lessphp voor je css _O_ werkt ook gewoon.
http://isometriks.com/using-less-with-symfony2
Je moeder is een hamster
pi_131031481
Doctrine heb ik een paar maand geleden voor het eerst gebruikt in combinatie met Zend Framework 2, inderdaad erg handig! Twig heb ik nog niet gebruikt, maar ga ik zeker ook eens uitproberen.
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
  dinsdag 10 september 2013 @ 19:04:16 #169
166255 Maringo
Bèhèhèhèh
pi_131031683
quote:
17s.gif Op dinsdag 10 september 2013 12:33 schreef KomtTijd... het volgende:
Ik begin Symfony2 een beetje onder de knie te krijgen. Werkt wel geniaal zeg!
Ik ben er ook mee bezig icm Twig en Doctrine. Ideaal inderdaad. :Y
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
  dinsdag 10 september 2013 @ 19:05:06 #170
118585 Crutch
Filantroop || Taalzwengel
pi_131031724
PHPStorm ondersteunt Symfony2 nu ook.

Volgens mij krijg je in een nieuwere versie zelfs een commandline interface. _O_
Je moeder is een hamster
pi_131044350
quote:
17s.gif Op dinsdag 10 september 2013 12:33 schreef KomtTijd... het volgende:
Ik begin Symfony2 een beetje onder de knie te krijgen. Werkt wel geniaal zeg!
_O_ Laravel. (Gebruikt ook Symfony2 componenten)
pi_131049639
quote:
0s.gif Op dinsdag 10 september 2013 08:47 schreef rekenwonder het volgende:

[..]

Hangt ook samen met de blog-software. Sommige blog-software neem geen genoegen met 356 MB.
Waar moet ik dan aan denken bij wordpress?
pi_131050257
quote:
5s.gif Op woensdag 11 september 2013 06:54 schreef Apekoek het volgende:

[..]

Waar moet ik dan aan denken bij wordpress?
Dat is uiteraard van allerlei factoren afhankelijk zoals gebruikte plugins, aantal bezoekers etc.

356 MB lijkt me echter aan de krappe kant. Begin eens bij 1 GB.
Tegenwoordig moet je Dr. Ir. zijn om een beetje correct Nederlands te kunnen neerpleuren.
Abusing semicolons since 1987.
pi_131051145
quote:
0s.gif Op woensdag 11 september 2013 08:29 schreef rekenwonder het volgende:

[..]

Dat is uiteraard van allerlei factoren afhankelijk zoals gebruikte plugins, aantal bezoekers etc.

356 MB lijkt me echter aan de krappe kant. Begin eens bij 1 GB.
Lolwhut? Php memory limit staat normaliter op 64 MB, en als je dat daadwerkelijk haalt met php moet je toch eens flink achter je oren gaan krabben, want dat is best wel extreem.
pi_131063847
Wat zou jouw advies zijn?
Tegenwoordig moet je Dr. Ir. zijn om een beetje correct Nederlands te kunnen neerpleuren.
Abusing semicolons since 1987.
pi_131063930
Voor een wordpressblog? gewoon shared hosting.
pi_131064023
quote:
0s.gif Op woensdag 11 september 2013 16:56 schreef rekenwonder het volgende:
Wat zou jouw advies zijn?
Wordpress geeft geen (althans, hier: http://wordpress.org/about/requirements/) vereisten aan het geheugengebruik. De standaard-instelling van PHP lijkt voldoende. Een paar MB moet ook genoeg zijn voor iets als Wordpress.

Mocht je overigens plugins, uitbreidingen of wat dan ook toevoegen aan de standaard Wordpress, dan kan het geheugengebruik toenemen. Dat is ook de reden waarom je zoveel "excessive PHP memory wordpress"-topics ziet.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_131064776
quote:
11s.gif Op woensdag 11 september 2013 09:24 schreef KomtTijd... het volgende:

[..]

Lolwhut? Php memory limit staat normaliter op 64 MB, en als je dat daadwerkelijk haalt met php moet je toch eens flink achter je oren gaan krabben, want dat is best wel extreem.
Zelfs een 64MB programma kan op een 32MB systeem draaien, alleen gaat je systeem dan wel swappen. Maar je moet kijken naar hoe vaak je site per seconde wordt aangeroepen. Performance loads uitvoeren om te kijken wat de resultaten zijn onder welke belasting. Ga je akkoord met 2 seconde laadtijd op piek tijden? Dat zijn vragen die waar je achter moet komen wat de echte laadtijden zijn en wat je acceptabel vindt.
  zaterdag 14 september 2013 @ 13:08:59 #179
118585 Crutch
Filantroop || Taalzwengel
pi_131160154
Is Symfony een beetje te draaien op Shared Hosting? Iemand ervaring?
Je moeder is een hamster
pi_131174651
Waarom niet?
  zaterdag 14 september 2013 @ 21:11:38 #181
12221 Tijn
Powered by MS Paint
pi_131176632
Nou, ik ben van de week voor het eerst op een project gezet dat met Symfony 2 is gedaan en dat is een partij sloom, niet normaal. Ik hoop niet dat dit representatief is voor het framework :+
  Moderator / Redactie Sport / Devops zaterdag 14 september 2013 @ 21:12:37 #182
176766 crew  zoem
zoemt
pi_131176675
Je moet ook een opcode cache gebruiken. Dat scheelt enorm.
  Moderator / Redactie Sport / Devops zaterdag 14 september 2013 @ 21:28:57 #183
176766 crew  zoem
zoemt
pi_131177444
quote:
11s.gif Op woensdag 11 september 2013 09:24 schreef KomtTijd... het volgende:

[..]

Lolwhut? Php memory limit staat normaliter op 64 MB, en als je dat daadwerkelijk haalt met php moet je toch eens flink achter je oren gaan krabben, want dat is best wel extreem.
Ik denk dat je niet binnen het proces moet kijken, maar naar wat het per request kost aan geheugen. Dan kun je uitrekenen hoeveel requests je kan bedienen met het beschikbare geheugen. Stel dat je mod_php gebruikt dan ben je per apacheproces toch zeker zo'n 30MB kwijt. Dus bij ~12 concurrent requests zit het geheugen al vol. En dan reken ik de database nog niet mee.
pi_131228524
Wie kan mij helpen met dit waarschijnlijke simpele probleem.

Ik heb een tabel airlines met daarin 100 airlines. Nu wil ik de 1e, 30e, 60e en 90e tonen in 1 query. Nu stoei ik met LIMIT maar het enige waar ik opkom is om het apart uit te voeren, dus per stuk.
Minister Cramer: "Milieuvervuiling mag zolang je maar betaalt."
Minister Cramer: "Mensheid in 2100 grotendeels verdwenen."
Minister Cramer: "In 2050 40% van alle dier- en plantensoorten uitgestorven."
  maandag 16 september 2013 @ 09:51:52 #185
12221 Tijn
Powered by MS Paint
pi_131231151
quote:
Volgens mij is dit niet de juiste. Wat ik wil is (sorry dat ik het niet goed heb uitgelegd) dat de eerste airline een variabel wordt en de 30e een variabel die ik daarna combineer om er een url van te maken. Dat doe ik ook voor de 31e en 60e and so on. Mijn mysql kennis is nog net niet van het niveau dat ik hier een mooi iets neer kan zetten. Maar ik denk ergens dus aan een subquery met limit 0,1 en 30,1 (?)
Minister Cramer: "Milieuvervuiling mag zolang je maar betaalt."
Minister Cramer: "Mensheid in 2100 grotendeels verdwenen."
Minister Cramer: "In 2050 40% van alle dier- en plantensoorten uitgestorven."
  Moderator / Redactie Sport / Devops maandag 16 september 2013 @ 11:27:18 #187
176766 crew  zoem
zoemt
pi_131231396
Dat zou kunnen werken als je het combineert met een UNION.
pi_131233835
quote:
0s.gif Op maandag 16 september 2013 11:27 schreef zoem het volgende:
Dat zou kunnen werken als je het combineert met een UNION.
ik geef nog even wat info waar ik naar toe wil. Ik probeer van alles maar ik krijg een error omdat ik ORDER BY gebruik icm UNION,

$airline1 = SELECT airline FROM `airlines` ORDER BY airline LIMIT 0,1
$airline2 = SELECT airline FROM `airlines` ORDER BY airline LIMIT 30,1
Minister Cramer: "Milieuvervuiling mag zolang je maar betaalt."
Minister Cramer: "Mensheid in 2100 grotendeels verdwenen."
Minister Cramer: "In 2050 40% van alle dier- en plantensoorten uitgestorven."
pi_131234067
quote:
7s.gif Op maandag 16 september 2013 12:44 schreef kawotski het volgende:

[..]

ik geef nog even wat info waar ik naar toe wil. Ik probeer van alles maar ik krijg een error omdat ik ORDER BY gebruik icm UNION,

$airline1 = SELECT airline FROM `airlines` ORDER BY airline LIMIT 0,1
$airline2 = SELECT airline FROM `airlines` ORDER BY airline LIMIT 30,1
Maar wil je het alleen met 0 en 30, of 0, 30, 60, 90, 120, etc.. want dan klopt de eerder stackflow link wel weer.
pi_131234516
quote:
0s.gif Op maandag 16 september 2013 12:51 schreef Pakspul het volgende:

[..]

Maar wil je het alleen met 0 en 30, of 0, 30, 60, 90, 120, etc.. want dan klopt de eerder stackflow link wel weer.
Ik heb iets te breed ingezet. Ik wil uit mijn tabel de eerste airline, de 30e, de 31e, de 60e, de 61e en de 90e.

Dan krijg je (wil ik) bijv. als resultaat Air Canada - KLM, en daarna KLM Cityhopper - Qantas (dus alleen die namen en niet wat ertussen zit

ik ben nu hier naar aan t kijken: http://stackoverflow.com/(...)lt-of-a-select-query
Minister Cramer: "Milieuvervuiling mag zolang je maar betaalt."
Minister Cramer: "Mensheid in 2100 grotendeels verdwenen."
Minister Cramer: "In 2050 40% van alle dier- en plantensoorten uitgestorven."
pi_131234817
quote:
0s.gif Op maandag 16 september 2013 13:04 schreef kawotski het volgende:

[..]

Ik heb iets te breed ingezet. Ik wil uit mijn tabel de eerste airline, de 30e, de 31e, de 60e, de 61e en de 90e.

Dan krijg je (wil ik) bijv. als resultaat Air Canada - KLM, en daarna KLM Cityhopper - Qantas (dus alleen die namen en niet wat ertussen zit

ik ben nu hier naar aan t kijken: http://stackoverflow.com/(...)lt-of-a-select-query
Dan is de stackflow link die gegeven is perfect.

Ik heb er lokaal even mee getest, aangezien ik geen tabel met record had heb ik de 'mysql' database in phpmyadmin even gebruikt en dan naar de tabel 'time_zone'

1
2
3
4
5
6
7
8
9
10
11
12
SELECT * 
FROM ( 
    SELECT 
        @row := @row +1 AS rownum, time_zone_id 
    FROM ( 
        SELECT @row :=0) r, time_zone
    ) ranked 
WHERE 
    rownum % 30 = 1 
OR
    rownum % 31 = 1 
LIMIT 0, 6

Met deze query krijg ik er bijna uit wat je wil hebben. Speel hier eens mee, leer de operator modulo eens kennen en verander eens kleine dingen er aan.
pi_131235223
quote:
0s.gif Op maandag 16 september 2013 13:14 schreef Pakspul het volgende:

[..]

Dan is de stackflow link die gegeven is perfect.

Ik heb er lokaal even mee getest, aangezien ik geen tabel met record had heb ik de 'mysql' database in phpmyadmin even gebruikt en dan naar de tabel 'time_zone'
[ code verwijderd ]

Met deze query krijg ik er bijna uit wat je wil hebben. Speel hier eens mee, leer de operator modulo eens kennen en verander eens kleine dingen er aan.
Dat werkt , ik ga nog even verder klooien

Minister Cramer: "Milieuvervuiling mag zolang je maar betaalt."
Minister Cramer: "Mensheid in 2100 grotendeels verdwenen."
Minister Cramer: "In 2050 40% van alle dier- en plantensoorten uitgestorven."
pi_131235316
quote:
0s.gif Op maandag 16 september 2013 13:28 schreef kawotski het volgende:

[..]

Dat werkt , ik ga nog even verder klooien

[ afbeelding ]
Airlines per airlines in een variabel? Die begrijp ik niet helemaal.
pi_131235421
quote:
0s.gif Op maandag 16 september 2013 13:30 schreef Pakspul het volgende:

[..]

Airlines per airlines in een variabel? Die begrijp ik niet helemaal.
Stap 2 is dat ik volgens voorbeeld de 1e combineer met de 30e, dus 1Time en Air Arabia Egypt samenvoeg in 1 url.
Minister Cramer: "Milieuvervuiling mag zolang je maar betaalt."
Minister Cramer: "Mensheid in 2100 grotendeels verdwenen."
Minister Cramer: "In 2050 40% van alle dier- en plantensoorten uitgestorven."
pi_131235588
quote:
0s.gif Op maandag 16 september 2013 13:33 schreef kawotski het volgende:

[..]

Stap 2 is dat ik volgens voorbeeld de 1e combineer met de 30e, dus 1Time en Air Arabia Egypt samenvoeg in 1 url.
1
2
3
4
5
6
7
<?php
for ( (int) $i 0$i 3$i++ )
{
    
$part1 $recordList[$i];
    
$part2 $recordList[$i 1];
}
?>

Het zal vast wel weer in een query kunnen, misschien dat die dan je subquery wordt waar je dan weer doorheen moet spitten, maar als het om maar 6 resultaten gaat kan kun je het ook in PHP oplossen.

1
2
3
4
5
6
7
<?php
for ( (int) $i 0$i 3$i++ )
{
    
$part1 $recordList[$i];
    
$part2 $recordList[$i 1];
}
?>

Mocht je dan later je query voor mekaar krijgen dan kun je het er altijd nog uitslopen, maar dan kun je nu verder :)
pi_131235847
quote:
0s.gif Op maandag 16 september 2013 13:38 schreef Pakspul het volgende:

[..]
[ code verwijderd ]

Het zal vast wel weer in een query kunnen, misschien dat die dan je subquery wordt waar je dan weer doorheen moet spitten, maar als het om maar 6 resultaten gaat kan kun je het ook in PHP oplossen.
[ code verwijderd ]

Mocht je dan later je query voor mekaar krijgen dan kun je het er altijd nog uitslopen, maar dan kun je nu verder :)
Dat is ook wel weer waar, ik ga dat eens proberen. Thanks alvast :)
Minister Cramer: "Milieuvervuiling mag zolang je maar betaalt."
Minister Cramer: "Mensheid in 2100 grotendeels verdwenen."
Minister Cramer: "In 2050 40% van alle dier- en plantensoorten uitgestorven."
pi_131255179
Als je een kolom numrow in de tabel hebt staan zoals in je voorbeeld kan je ook IN gebruiken.
1SELECT * FROM airline WHERE numrow IN (1, 30, 31, 60, 61, 90);
pi_131299407
quote:
10s.gif Op zaterdag 14 september 2013 21:11 schreef Tijn het volgende:
Nou, ik ben van de week voor het eerst op een project gezet dat met Symfony 2 is gedaan en dat is een partij sloom, niet normaal. Ik hoop niet dat dit representatief is voor het framework :+
:P Geef Laravel 4 eens een kans, je gaat er van houden.
  woensdag 18 september 2013 @ 21:46:14 #199
118585 Crutch
Filantroop || Taalzwengel
pi_131329645
Het snelste framework is géén framework.
Je moeder is een hamster
pi_131343276
Even een stukje semantiek, wat staat beter?
1
2
3
/asset            -> lijst met assets
/asset/get/1      -> details asset #1
/asset/edit/1     -> formulier om asset #1 aan te passen
1
2
3
/asset             ->lijst met assets
/asset/1/          -> details asset #1
/asset/1/edit      -> asset #1 aanpassen
1
2
3
/asset/list       ->lijst met assets
/asset/1/get      -> details asset #1
/asset/1/edit     -> asset #1 aanpassen

of een combinatie van?
pi_131343624
quote:
14s.gif Op donderdag 19 september 2013 11:55 schreef KomtTijd... het volgende:
Even een stukje semantiek, wat staat beter?
[ code verwijderd ]

[ code verwijderd ]

[ code verwijderd ]

of een combinatie van?
Ik gebruik veelal de eerste. controller, action, parameters zo bekijk ik het. Als je in een programmeer taal ook een functie aanroept dan doe je ook $obj->Function($varA, $varb); Dus eerst definieer je de class (controller) dan roep je de functie aan (action) en geef je aan welke parameters je meegeeft.
pi_131344109
Zo heb ik het nu ook ja. Maar de breadcrumbs op de pagina staan wel weer zo:

1
2
3
home > assets
home > assets > asset1
home > assets > asset1 > bewerken

Daarmee zou het consistenter zijn om de ID voor de action te plaatsen. Maar misschien is het ook wel gewoon een dom idee dat een URL consistent zou moeten zijn met breadcrums.
  donderdag 19 september 2013 @ 12:23:23 #203
12221 Tijn
Powered by MS Paint
pi_131344192
Ik probeer urls meestal zo compact mogelijk te houden. Ik zou zelf voor vorm #2 gaan.
pi_131344389
Overigens moet ik erbij zeggen dat het ook een REST-api is. Heb nog niet helemaal in mijn hoofd wat daarvoor de URL-structuur zou moeten worden. Het liefst heb je dan natuurlijk alleen /asset en /asset/id en regel je de actions met het type request (get/put/post/delete).
pi_131399040
quote:
14s.gif Op donderdag 19 september 2013 11:55 schreef KomtTijd... het volgende:
Even een stukje semantiek, wat staat beter?
[ code verwijderd ]

[ code verwijderd ]

[ code verwijderd ]

of een combinatie van?
1
2
3
/assets             ->lijst met assets
/assets/1/          -> details asset #1
/assets/1/edit      -> asset #1 aanpassen

Ik zou voor meervoud kiezen ipv enkelvoud. En /assets/1/edit heb je eigenlijk alleen nodig voor web. Om een edit te kunnen maken, moet er een edit-pagina zijn. En daar voorziet REST niet in.

Dan kom je op zoiets:
1
2
3
4
5
6
7
         users GET    /users(.:format)               users#index
               POST   /users(.:format)               users#create
      new_user GET    /users/new(.:format)           users#new
     edit_user GET    /users/:id/edit(.:format)      users#edit
          user GET    /users/:id(.:format)           users#show
               PUT    /users/:id(.:format)           users#update
               DELETE /users/:id(.:format)           users#destroy
new en edit zijn puur bedoeld om een formuliertje te presenteren. En dit lijstje komt uit een Ruby on Rails projectje.
  vrijdag 20 september 2013 @ 22:46:51 #206
178193 Juicyhil
Bekende FOK!ker
pi_131399212
quote:
0s.gif Op vrijdag 20 september 2013 22:42 schreef Light het volgende:

[..]
[ code verwijderd ]

Ik zou voor meervoud kiezen ipv enkelvoud. En /assets/1/edit heb je eigenlijk alleen nodig voor web. Om een edit te kunnen maken, moet er een edit-pagina zijn. En daar voorziet REST niet in.

Dan kom je op zoiets:
[ code verwijderd ]

new en edit zijn puur bedoeld om een formuliertje te presenteren. En dit lijstje komt uit een Ruby on Rails projectje.
De meeste conventies die ik tegenkom spreken altijd over enkelvoudige namen...
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
pi_131399681
quote:
0s.gif Op vrijdag 20 september 2013 22:46 schreef Juicyhil het volgende:

[..]

De meeste conventies die ik tegenkom spreken altijd over enkelvoudige namen...
Als je het helemaal netjes wilt doen, gebruik je meervoud voor het opvragen van de lijst (en toevoegen aan de lijst) en enkelvoud voor acties die op 1 item gaan. Maar dat heeft weer als nadeel dat je niet een stuk na een slash kunt weghalen en een geldige url overhoudt.
  vrijdag 20 september 2013 @ 23:01:20 #208
178193 Juicyhil
Bekende FOK!ker
pi_131399888
quote:
0s.gif Op vrijdag 20 september 2013 22:57 schreef Light het volgende:

[..]

Als je het helemaal netjes wilt doen, gebruik je meervoud voor het opvragen van de lijst (en toevoegen aan de lijst) en enkelvoud voor acties die op 1 item gaan. Maar dat heeft weer als nadeel dat je niet een stuk na een slash kunt weghalen en een geldige url overhoudt.
Enige consistentie daarin is inderdaad wel gewenst. Een url als /search/results vind ik dan wel weer geoorloofd. Maar bijvoorbeeld /user/1/profile zou ik dan dus wel enkelvoud laten.
Op dinsdag 9 augustus 2011 23:01 schreef SuperrrTuxxx het volgende:
Ik hou zoveel van jou, ik doe alles voor je! O+
pi_131400292
quote:
0s.gif Op vrijdag 20 september 2013 23:01 schreef Juicyhil het volgende:

[..]

Enige consistentie daarin is inderdaad wel gewenst. Een url als /search/results vind ik dan wel weer geoorloofd. Maar bijvoorbeeld /user/1/profile zou ik dan dus wel enkelvoud laten.
Ik neig meer richting meervoud, maar smaken verschillen. En over consistentie zijn we het wel eens. Als je /user/1 gebruikt, dan ook /user. En als je /users wilt gebruiken, dan ook /users/1.
pi_131575581
Ik ben bezig met het bouwen van een nieuwssysteem, mijn vraag is welk type moet ik gebruiken om 'datum/tijd' op te slaan?

Vroeger gebruikte ik gewoon varchar en gebruikte formaat: 201309260007 (2013 - 09 - 26, 00:07). Dit was makkelijk om records uit 2013 te zoeken, records uit een bepaald maand te zoeken etc.

Echter heeft het ook zijn nadelen.

Wat raden jullie aan?
pi_131575662
quote:
0s.gif Op donderdag 26 september 2013 00:08 schreef xaban06 het volgende:
Ik ben bezig met het bouwen van een nieuwssysteem, mijn vraag is welk type moet ik gebruiken om 'datum/tijd' op te slaan?

Vroeger gebruikte ik gewoon varchar en gebruikte formaat: 201309260007 (2013 - 09 - 26, 00:07). Dit was makkelijk om records uit 2013 te zoeken, records uit een bepaald maand te zoeken etc.

Echter heeft het ook zijn nadelen.

Wat raden jullie aan?
Dat moet eeuwen geleden zijn dan :P
Je hebt gewoon het type DATETIME die slaat de datum op als "Y-m-d H:i:s" "2013-09-26 00:11:00"
pi_131575948
quote:
0s.gif Op donderdag 26 september 2013 00:11 schreef totalvamp het volgende:

[..]

Dat moet eeuwen geleden zijn dan :P
Je hebt gewoon het type DATETIME die slaat de datum op als "Y-m-d H:i:s" "2013-09-26 00:11:00"
En bestaat daar ook een PHP functie voor om bijvoorbeeld 'nu-3 jaar' te doen? Dus "2010-09-26 00:11:00"
  Moderator / Redactie Sport / Devops donderdag 26 september 2013 @ 00:32:26 #213
176766 crew  zoem
zoemt
pi_131576029
Dat kan ook met MySQL: UNIX_TIMESTAMP(datum) > $mystamp, of iets met YEAR(datum) afhankelijk van wat je wilt bereiken.
pi_131576075
quote:
0s.gif Op donderdag 26 september 2013 00:26 schreef xaban06 het volgende:

[..]

En bestaat daar ook een PHP functie voor om bijvoorbeeld 'nu-3 jaar' te doen? Dus "2010-09-26 00:11:00"
Ja, maar je kunt het beter in mysql zelf doen.
1
2
3
4
5
<?php
select 

from orders 
where order_date 
>= DATE_SUB(NOW(),INTERVAL 3 YEAR);
?>

Waarvoor maak je een nieuwssystem trouwens?

[ Bericht 1% gewijzigd door #ANONIEM op 26-09-2013 00:37:38 ]
pi_131576140
quote:
0s.gif Op donderdag 26 september 2013 00:35 schreef totalvamp het volgende:

[..]

Ja, maar je kunt het beter in mysql zelf doen.
[ code verwijderd ]

Waarvoor maak je een nieuwssystem trouwens?
Voor mij zelf, een hobby website.

Kan helaas geen kant en klare systeem gebruiken omdat bij ieder pakket wel iets mist.
pi_131576149
quote:
0s.gif Op donderdag 26 september 2013 00:39 schreef xaban06 het volgende:

[..]

Voor mij zelf, een hobby website.

Kan helaas geen kant en klare systeem gebruiken omdat bij ieder pakket wel iets mist.
Ik snap je dilemma.
Maak je gebruik van classes?
pi_131576177
quote:
0s.gif Op donderdag 26 september 2013 00:40 schreef totalvamp het volgende:

[..]

Ik snap je dilemma.
Maak je gebruik van classes?
Nee. Ik heb PHP geleerd met versie 4, toen was er nog niet echt OOP ondersteuning, de boeken die ik gebruikte gingen er dus ook niet echt diep op in. Helaas, nooit geleerd.
pi_131576190
quote:
0s.gif Op donderdag 26 september 2013 00:42 schreef xaban06 het volgende:

[..]

Nee. Ik heb PHP geleerd met versie 4, toen was er nog niet echt OOP ondersteuning, de boeken die ik gebruikte gingen er dus ook niet echt diep op in. Helaas, nooit geleerd.
Dan zou ik vanaf het begin af aan beginnen. Wat er toen in die boeken stond is nu gevaarlijk(was het toen ook al).
Heb je toevallig een voorbeeld van je code?
pi_131576200
quote:
0s.gif Op donderdag 26 september 2013 00:43 schreef totalvamp het volgende:

[..]

Dan zou ik vanaf het begin af aan beginnen. Wat er toen in die boeken stond is nu gevaarlijk(was het toen ook al).
Heb je toevallig een voorbeeld van je code?
Nee, al jaren niet meer gescript :)

Om nu vanaf begin te beginnen, pfff, gaat weer zoveel tijd in zitten.

Even kijken of ik iets kan vinden (eigen code).
pi_131576245
Ok, heb iets kunnen vinden, maar is maar half, ik zie dat ik tig bestanden heb gebruikt waardoor ik niet meer weet wat wat is :P

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.
pi_131576316
Dit wordt de structuur ongeveer, is nog niet af.
1
2
3
4
5
6
7
8
9
10
11
News
|- id                 int        6    unsigned    auto_increment
|- post_title         varchar    80
|- post_introduction  text       -
|- post_content       text       -
|- post_icon          varchar    15
|- post_date          datetime   -
|- post_category      varchar    10
|- post_url           varchar    85
|- post_author        int        5    unsigned
|- post_status        varchar    10
pi_131576333
Hallo, vergeef mij dat ik een php noob ben, ik wil het graag leren. Ik heb 2 vragen:
Ik ben wat aan het klooien met php en mysql. Nu maak ik dat in een mapje op de pc, en upload ik dit naar m'n server. Alles werkte prima, maar sinds vanmiddag, van het 1 op andere moment wordt de php code lokaal niet meer geparsd. Dus als ik de file dan open in chrome zie ik de code ipv het resultaat. Als ik deze file upload naar m'n server werkt alles naar behoren. Enig idee hoe dit zou kunnen komen zonder instellingen te hebben verander/software geïnstalleerd of gedeïnstalleerd etc.?

En vraag 2: Ik heb hiervoor altijd in actionscript geprogrammeerd. Ik ben toe aan iets nieuws en daarom begonnen met php/mysql. Welk boek raden jullie aan om goed te leren phpen? Ik heb wel 2 boeken maar daar wordt teveel over syntax geleutert, dat snap ik allemaal wel... Een soort van boek met tutorials heeft m'n voorkeur..

Bednakt voor het lezen en antwoorden!
pi_131576336
quote:
0s.gif Op donderdag 26 september 2013 00:48 schreef xaban06 het volgende:
Ok, heb iets kunnen vinden, maar is maar half, ik zie dat ik tig bestanden heb gebruikt waardoor ik niet meer weet wat wat is :P

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.
Oei :P dat kan stukken netter.
Het is ook makkelijker met classes te werken die kun je automatisch inladen.

quote:
0s.gif Op donderdag 26 september 2013 00:55 schreef xaban06 het volgende:
Dit wordt de structuur ongeveer, is nog niet af.
[ code verwijderd ]
ik zou alleen een category_id meegeven ipv de cat naam. Dan kun je een tabel maken met categorieën en die joinen op news
  Moderator / Redactie Sport / Devops donderdag 26 september 2013 @ 00:57:45 #224
176766 crew  zoem
zoemt
pi_131576338
quote:
0s.gif Op donderdag 26 september 2013 00:48 schreef xaban06 het volgende:
Ok, heb iets kunnen vinden, maar is maar half, ik zie dat ik tig bestanden heb gebruikt waardoor ik niet meer weet wat wat is :P

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.
Let je wel op met sql-injectie?

En staat $first en $second voor wat ik denk dat het staat? Wat gebeurt er dan wanneer je de website in een ander pad draait? Gebruik hiervoor een router class, te vinden in allerlei frameworks.
pi_131576347
quote:
0s.gif Op donderdag 26 september 2013 00:57 schreef Kakdieusernameisalbezet het volgende:
Hallo, vergeef mij dat ik een php noob ben, ik wil het graag leren. Ik heb 2 vragen:
Ik ben wat aan het klooien met php en mysql. Nu maak ik dat in een mapje op de pc, en upload ik dit naar m'n server. Alles werkte prima, maar sinds vanmiddag, van het 1 op andere moment wordt de php code lokaal niet meer geparsd. Dus als ik de file dan open in chrome zie ik de code ipv het resultaat. Als ik deze file upload naar m'n server werkt alles naar behoren. Enig idee hoe dit zou kunnen komen zonder instellingen te hebben verander/software geïnstalleerd of gedeïnstalleerd etc.?

En vraag 2: Ik heb hiervoor altijd in actionscript geprogrammeerd. Ik ben toe aan iets nieuws en daarom begonnen met php/mysql. Welk boek raden jullie aan om goed te leren phpen? Ik heb wel 2 boeken maar daar wordt teveel over syntax geleutert, dat snap ik allemaal wel... Een soort van boek met tutorials heeft m'n voorkeur..

Bednakt voor het lezen en antwoorden!
voorbeeld van de code :P?

Ik zou geen boeken raadplegen. Het beste is om de bekende frameworks na te lopen en kijken hoe dat in elkaar steekt. Lees je ook in op OOP er zijn zat voorbeelden met uitleg online.
pi_131576365
quote:
0s.gif Op donderdag 26 september 2013 00:59 schreef totalvamp het volgende:

[..]

voorbeeld van de code :P?

Ik zou geen boeken raadplegen. Het beste is om de bekende frameworks na te lopen en kijken hoe dat in elkaar steekt. Lees je ook in op OOP er zijn zat voorbeelden met uitleg online.
Gaat niet om de code, als ik in een pagina <?php echo "hallo"; ?> doe laat ie het ook zo zien, ipv dat de output "hallo" is. Dit heeft sowieso niet met de code te maken, op alle browsers geeft ie ehtzelfde probleem. Geen idee waar het aan kan liggen.
pi_131576382
quote:
0s.gif Op donderdag 26 september 2013 01:02 schreef Kakdieusernameisalbezet het volgende:

[..]

Gaat niet om de code, als ik in een pagina <?php echo "hallo"; ?> doe laat ie het ook zo zien, ipv dat de output "hallo" is. Dit heeft sowieso niet met de code te maken, op alle browsers geeft ie ehtzelfde probleem. Geen idee waar het aan kan liggen.
klinkt alsof de php module niet wordt geladen. Wat voor webserver heb je? Xampp?
pi_131576399
quote:
0s.gif Op donderdag 26 september 2013 01:03 schreef totalvamp het volgende:

[..]

klinkt alsof de php module niet wordt geladen. Wat voor webserver heb je? Xampp?
Mja zoiets dacht ik al, alleen grappige is dat ik nooit zoiets heb geïnstalleerd. Ik ben wat phptutorials gaan doen, phpfiles maken in dreamweaver, openen met chrome en dat werkte. Niks voor geïnstalleerd
pi_131576407
quote:
0s.gif Op donderdag 26 september 2013 01:05 schreef Kakdieusernameisalbezet het volgende:

[..]

Mja zoiets dacht ik al, alleen grappige is dat ik nooit zoiets heb geïnstalleerd. Ik ben wat phptutorials gaan doen, phpfiles maken in reamweaver, openen met chrome en dat werkte. Niks voor geïnstalleerd
Dan zal dreamweaver een ingebouwde server hebben gehad. Installeer XAMPP en probeer opnieuw :P
pi_131576417
quote:
0s.gif Op donderdag 26 september 2013 01:06 schreef totalvamp het volgende:

[..]

Dan zal dreamweaver een ingebouwde server hebben gehad. Installeer XAMPP en probeer opnieuw :P
Haha yes sir, thanks! Morgen direct proberen!
pi_131576841
quote:
0s.gif Op donderdag 26 september 2013 00:57 schreef totalvamp het volgende:

[..]

Oei :P dat kan stukken netter.
Het is ook makkelijker met classes te werken die kun je automatisch inladen.

[..]

ik zou alleen een category_id meegeven ipv de cat naam. Dan kun je een tabel maken met categorieën en die joinen op news
Een nieuws artikel kan meer dan 1 categorien hebben :)
Een voorbeeld record wordt dan 1|6|9, artikel zit dus in category 1, 6 en 9. Of kan dat ook slimmer/handiger/logischer?
pi_131576877
quote:
0s.gif Op donderdag 26 september 2013 03:01 schreef xaban06 het volgende:

[..]

Een nieuws artikel kan meer dan 1 categorien hebben :)
Een voorbeeld record wordt dan 1|6|9, artikel zit dus in category 1, 6 en 9. Of kan dat ook slimmer/handiger/logischer?
koppel tabellen.
  donderdag 26 september 2013 @ 08:33:03 #233
125913 Devolution
Beep beep Richie
pi_131577614
quote:
0s.gif Op donderdag 26 september 2013 01:08 schreef Kakdieusernameisalbezet het volgende:

[..]

Haha yes sir, thanks! Morgen direct proberen!
Een aanrader voor beginners: http://www.usbwebserver.net/
"You know what Hell really is? It's not lakes of burning oil or chains of ice. It's being removed from God's sight."
pi_131578042
quote:
12s.gif Op donderdag 26 september 2013 08:33 schreef Devolution het volgende:

[..]

Een aanrader voor beginners: http://www.usbwebserver.net/
Niet alleen voor beginners hoor ;) heeft precies wat een gemiddelde web (php) developer nodig heeft.. gebruik het nu al jaren! veel beter dan xamp, wamp en dergelijke alternatieven!
Just say hi!
pi_131579037
quote:
0s.gif Op vrijdag 20 september 2013 22:42 schreef Light het volgende:

[..]
[ code verwijderd ]

Ik zou voor meervoud kiezen ipv enkelvoud. En /assets/1/edit heb je eigenlijk alleen nodig voor web. Om een edit te kunnen maken, moet er een edit-pagina zijn. En daar voorziet REST niet in.

Dan kom je op zoiets:
[ code verwijderd ]

new en edit zijn puur bedoeld om een formuliertje te presenteren. En dit lijstje komt uit een Ruby on Rails projectje.
Meervoud klopt niet, want als jij een pagina asset/1 hebt, dan is het logisch dat er meerdere zijn. Dus je hebt het al over meervoud. Zelfde als bij database tabellen. Een tabel "persons" noemen is vreemd, aangezien er meerdere records al in komen te staan over personen. Daarom gebruik ik altijd enkelvoud. Meervoud in urls kom ik ook eigenlijk nooit tegen, zelfs database tabellen in meervoud niet.
pi_131579096
quote:
0s.gif Op donderdag 26 september 2013 09:06 schreef Chandler het volgende:
Niet alleen voor beginners hoor ;) heeft precies wat een gemiddelde web (php) developer nodig heeft.. gebruik het nu al jaren! veel beter dan xamp, wamp en dergelijke alternatieven!
Ik ben niet de intended audience, maarruh.. waarom is het beter dan? Want ik zie niet wat er moeilijk is aan een webserver optuigen die PHP serveert..
In theory there is no difference between theory and practice. In practice there is.
pi_131579358
quote:
0s.gif Op donderdag 26 september 2013 10:01 schreef slacker_nl het volgende:
Ik ben niet de intended audience, maarruh.. waarom is het beter dan? Want ik zie niet wat er moeilijk is aan een webserver optuigen die PHP serveert..
Omdat het klik en play is! sterker nog, gewoon uitpakken, starten en het werkt! XAMPP en dergelijke packs bevatten veel meer dan een gemiddelde webdeveloper nodig heeft (imo). Daarnaast doet het precies wat een 'normale' webserver ook doet, het serveren van pagina's! :P

Maar goed, alles is persoonlijk maar mijn voorkeur gaat idd naar usbwebserver aangezien ik vele webservers heb geprobeerd en toch steeds bij deze terug kom! *)
Just say hi!
pi_131579552
sudo apt-get install lamp-server^

:O
pi_131580096
quote:
0s.gif Op donderdag 26 september 2013 03:21 schreef totalvamp het volgende:

[..]

koppel tabellen.
Hoe bedoel je?

Een aparte relationship tabel?
pi_131581533
Ik heb een aantal records opgeslagen, met een veld datum, opgeslagen als date("c").

Als ik de records van de laatste 2 uur wil ophalen, wil ik dat doen met:

1
2
3
4
$nu = date("c");
$einddatum = date("c", strtotime('-2 hours'));

select * from blabla where date BETWEEN "'.$nu.'" and "'.$einddatum.'"

Alleen krijg ik niks terug?

$nu en $einddatum geven wel

12013-09-26T11:41:54+02:00   2013-09-26T09:41:54+02:00

terug, hoe kan dit? Of kan dit veel makkelijker/ effectiever?
pi_131581626
`date` is wel een datetime veld?
pi_131581657
quote:
0s.gif Op donderdag 26 september 2013 10:45 schreef xaban06 het volgende:

[..]

Hoe bedoel je?

Een aparte relationship tabel?
...in goed Nederlands ook wel koppeltabel genoemd ja.
pi_131582019
quote:
5s.gif Op donderdag 26 september 2013 11:47 schreef KomtTijd... het volgende:
`date` is wel een datetime veld?
Nee, moet dat persé?
  Moderator / Redactie Sport / Devops donderdag 26 september 2013 @ 12:04:42 #244
176766 crew  zoem
zoemt
pi_131582092
quote:
99s.gif Op donderdag 26 september 2013 12:01 schreef boskameel het volgende:

[..]

Nee, moet dat persé?
Ja, anders gaat het nooit werken... tenzij je de string on the fly naar een datetime omzet met een sql-functie. Maar dat is iets wat je liever niet doet.
pi_131582213
Oke, `date` is nu een datetime.

Datums in de db staan er als volgt in:

2013-09-26 11:59:33
2013-09-26 11:55:00
etc

Nu en einddatum heb ik op deze manier ingesteld:

1
2
$nu = date('Y-m-d H:i:s');
$einddatum = date("Y-m-d H:i:s", strtotime('-2 hours'));

en geven dit als output:
2013-09-26 12:08:17
2013-09-26 10:08:17

Lege output, zie ik nog iets over het hoofd?
  donderdag 26 september 2013 @ 12:21:29 #246
166255 Maringo
Bèhèhèhèh
pi_131582495
quote:
99s.gif Op donderdag 26 september 2013 12:09 schreef boskameel het volgende:
Lege output, zie ik nog iets over het hoofd?
Ook geen error?
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
pi_131582499
quote:
99s.gif Op donderdag 26 september 2013 12:09 schreef boskameel het volgende:
Oke, `date` is nu een datetime.

Datums in de db staan er als volgt in:

2013-09-26 11:59:33
2013-09-26 11:55:00
etc

Nu en einddatum heb ik op deze manier ingesteld:
[ code verwijderd ]

en geven dit als output:
2013-09-26 12:08:17
2013-09-26 10:08:17

Lege output, zie ik nog iets over het hoofd?
Misschien moet je $nu en $einddatum in je query even omdraaien ;) $einddatum ligt namelijk voor $nu (dus zou ook eigenlijk $startdatum moeten heten)
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
pi_131582516
Aargh, ik was er zelf net achter :'). Danku!
  Moderator / Redactie Sport / Devops donderdag 26 september 2013 @ 12:27:11 #249
176766 crew  zoem
zoemt
pi_131582636
Om verwarring te voorkomen zou je $einddatum beter anders kunnen noemen. Het is eigenlijk de begindatum en $nu is je einddatum.
pi_131599215
quote:
99s.gif Op donderdag 26 september 2013 12:09 schreef boskameel het volgende:
Oke, `date` is nu een datetime.

Datums in de db staan er als volgt in:

2013-09-26 11:59:33
2013-09-26 11:55:00
etc

Nu en einddatum heb ik op deze manier ingesteld:
[ code verwijderd ]

en geven dit als output:
2013-09-26 12:08:17
2013-09-26 10:08:17

Lege output, zie ik nog iets over het hoofd?
Je kan het ook gewoon in MYSQL zelf doen :) dit met DATE_SUB(NOW(), -2 HOUR)
pi_131600815
Ik ben nu al zeker een jaar met php bezig, en ik zou zeggen dat ik het redelijk goed beheers maar nu loop ik tegen iets simpels aan wat ik gewoon niet begrijp :{

search.php
1
2
3
4
5
6
7
8
9
10
11
<?php
    
if ( key_exists"not"$_GET ) )
    {
        echo 
"test1";
        if ( !
is_null$_GET"not" ] ) || !empty($_GET["not"]) )
        {
            echo 
"test2";
            
        }
    }
?>

Met
1search.php?match=d_ 
komt die nergens, tot zover snap ik het nog, echter met
1search.php?match=d_¬=
komt die tot test2.. Hij zou toch enkel tot test1 moeten komen dan?

Wat zie ik over het hoofd? :')

Edit: Geen idee hoe ¬ opeens in de uri staat, dat moet een ampersand zijn.., in het invoerveld hier staat die gewoon als ampersand..

[ Bericht 2% gewijzigd door #ANONIEM op 26-09-2013 22:01:34 ]
  donderdag 26 september 2013 @ 22:15:43 #252
118585 Crutch
Filantroop || Taalzwengel
pi_131601619
quote:
2s.gif Op donderdag 26 september 2013 21:58 schreef d4v1d het volgende:
Ik ben nu al zeker een jaar met php bezig, en ik zou zeggen dat ik het redelijk goed beheers maar nu loop ik tegen iets simpels aan wat ik gewoon niet begrijp :{

search.php
[ code verwijderd ]

Met
[ code verwijderd ]

komt die nergens, tot zover snap ik het nog, echter met
[ code verwijderd ]

komt die tot test2.. Hij zou toch enkel tot test1 moeten komen dan?

Wat zie ik over het hoofd? :')

Edit: Geen idee hoe ¬ opeens in de uri staat, dat moet een ampersand zijn.., in het invoerveld hier staat die gewoon als ampersand..
Wat probeer je te bereiken?
Misschien de hele search snippet even posten?
Je moeder is een hamster
pi_131601650
quote:
2s.gif Op donderdag 26 september 2013 21:58 schreef d4v1d het volgende:
Ik ben nu al zeker een jaar met php bezig, en ik zou zeggen dat ik het redelijk goed beheers maar nu loop ik tegen iets simpels aan wat ik gewoon niet begrijp :{

search.php
[ code verwijderd ]

Met
[ code verwijderd ]

komt die nergens, tot zover snap ik het nog, echter met
[ code verwijderd ]

komt die tot test2.. Hij zou toch enkel tot test1 moeten komen dan?

Wat zie ik over het hoofd? :')

Edit: Geen idee hoe ¬ opeens in de uri staat, dat moet een ampersand zijn.., in het invoerveld hier staat die gewoon als ampersand..
Ik neem aan dat je array_key_exists() bedoelt en niet key_exists?

als je iets uit een invoerveld in de URL wilt zul je urlencode moeten gebruiken.
pi_131601739
quote:
0s.gif Op donderdag 26 september 2013 22:16 schreef totalvamp het volgende:

[..]

Ik neem aan dat je array_key_exists() bedoelt en niet key_exists?

als je iets uit een invoerveld in de URL wilt zul je urlencode moeten gebruiken.
key_exists is een alias, dus zou niet uit moeten maken.

urlendecode was ik vergeten, even doen ja :P
quote:
0s.gif Op donderdag 26 september 2013 22:15 schreef Crutch het volgende:

[..]

Wat probeer je te bereiken?
Misschien de hele search snippet even posten?
Al gevonden, Het moest
1
2
3
<?php
if ( !(is_null$_GET"not" ] ) || empty($_GET["not"])) )
?>
zijn. (Dus met de haakjes om beide)

Opgelost dus.

[ Bericht 0% gewijzigd door #ANONIEM op 26-09-2013 22:19:52 ]
pi_131601888
...ik mag aannemen dat je zo'n maffe if niet in je productiecode zet?
pi_131601895
quote:
2s.gif Op donderdag 26 september 2013 22:18 schreef d4v1d het volgende:

Al gevonden, Het moest
[ code verwijderd ]

zijn. (Dus met de haakjes om beide)

Opgelost dus.
empty() controleert ook op null-waardes. Als een variabele null is, is deze ook empty. Die extra null-check is dus niet nodig.
pi_131601943
quote:
14s.gif Op donderdag 26 september 2013 22:21 schreef KomtTijd... het volgende:
...ik mag aannemen dat je zo'n maffe if niet in je productiecode zet?
Wat is er maf aan?
quote:
0s.gif Op donderdag 26 september 2013 22:21 schreef Light het volgende:

[..]

empty() controleert ook op null-waardes. Als een variabele null is, is deze ook empty. Die extra null-check is dus niet nodig.
Ah, thx.
pi_131601974
quote:
14s.gif Op donderdag 26 september 2013 22:21 schreef KomtTijd... het volgende:
...ik mag aannemen dat je zo'n maffe if niet in je productiecode zet?
Wat is er gek aan? (even los van het commentaar van Light).
In theory there is no difference between theory and practice. In practice there is.
pi_131602025
quote:
0s.gif Op donderdag 26 september 2013 22:23 schreef slacker_nl het volgende:

[..]

Wat is er gek aan? (even los van het commentaar van Light).
normaal heb je in een framework functies die de requests afvangen en controleren op foutieve data.
pi_131602043
quote:
0s.gif Op donderdag 26 september 2013 22:23 schreef slacker_nl het volgende:

[..]

Wat is er gek aan? (even los van het commentaar van Light).
Nouja dat, plus het lijkt meer een soort van puzzelopdracht om de haakjes en dubbele negaties te ontcijferen.
pi_131602122
quote:
0s.gif Op donderdag 26 september 2013 22:24 schreef totalvamp het volgende:

[..]

normaal heb je in een framework functies die de requests afvangen en controleren op foutieve data.
Ik gebruik geen framework.
quote:
14s.gif Op donderdag 26 september 2013 22:25 schreef KomtTijd... het volgende:

[..]

Nouja dat, plus het lijkt meer een soort van puzzelopdracht om de haakjes en dubbele negaties te ontcijferen.
Hoe bekijk jij dan of iets van je $_GET is zoals je het wil? (In dit geval niet leeg of niet opgegeven..)
pi_131602158
quote:
2s.gif Op donderdag 26 september 2013 22:26 schreef d4v1d het volgende:

[..]

Ik gebruik geen framework.

[..]

Hoe bekijk jij dan of iets van je $_GET is zoals je het wil? (In dit geval niet leeg of niet opgegeven..)
gewoon met empty().
pi_131602200
quote:
14s.gif Op donderdag 26 september 2013 22:27 schreef KomtTijd... het volgende:

[..]

gewoon met empty().
Ja dat heb ik nu, zie de opmerking van Light. :+

1
2
3
4
5
6
7
8
9
10
11
<?php
    
    
if ( key_exists"not"$_GET ) )
    {
        
$not urldecode$_GET"not" ] );
        if ( !empty( 
$not ) )
        {
            
// doe iets..
        
}
    }
?>


[ Bericht 0% gewijzigd door #ANONIEM op 26-09-2013 22:28:40 ]
pi_131602261
Wat dacht je van
1
2
3
4
5
6
<?php
if (!empty($_GET['not']))
{
  
//doe iets
}
?>

...om maar een bizarre dwarsstraat te noemen.
pi_131602281
quote:
14s.gif Op donderdag 26 september 2013 22:29 schreef KomtTijd... het volgende:
Wat dacht je van
[ code verwijderd ]

...om maar een bizarre dwarsstraat te noemen.
En dan een warning krijgen dat de key "not" niet bestaat :P (ookal staan die in de productieomgeving uiteindelijk uit natuurlijk..)

[ Bericht 5% gewijzigd door #ANONIEM op 26-09-2013 22:30:00 ]
pi_131602324
quote:
2s.gif Op donderdag 26 september 2013 22:26 schreef d4v1d het volgende:

[..]

Ik gebruik geen framework.

[..]

Hoe bekijk jij dan of iets van je $_GET is zoals je het wil? (In dit geval niet leeg of niet opgegeven..)
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
class Request {
   public static function 
get($key) {
         return (!empty(
$_GET[$key])?$_GET[$key]:false;
   }

  public static function 
post($key) {
         return (!empty(
$_POST[$key])?$_POST[$key]:false;
   }
}

$var Request::get('not');
?>


[ Bericht 9% gewijzigd door #ANONIEM op 26-09-2013 22:32:44 ]
pi_131602338
empty controleert ook op bestaan.
pi_131602362
http://php.net/manual/en/function.empty.php

Documentatie. Wat moesten we zonder.
pi_131602371
quote:
14s.gif Op donderdag 26 september 2013 22:30 schreef KomtTijd... het volgende:
empty controleert ook op bestaan.
Meen je die? :@
pi_131602393
Ik deed moeilijk om niks dus _O-
pi_131602434
quote:
0s.gif Op donderdag 26 september 2013 22:30 schreef totalvamp het volgende:

[..]
[ code verwijderd ]

Ziet er netjes uit wel. Toch even overwegen misschien
pi_131602525
quote:
2s.gif Op donderdag 26 september 2013 22:32 schreef d4v1d het volgende:

[..]

Ziet er netjes uit wel. Toch even overwegen misschien
Voordeel van (static) classes en functies :) erg handig voor dingen die je meerdere keren gebruikt.

Mijn favo voor lokaal testen vand data
1
2
3
4
5
6
7
8
9
10
11
<?php

    
class HTML {
        public static function 
printr($txt) {
            echo 
'<pre>';
            
print_r($txt);
            echo 
'</pre>';
        }
    }
HTML::printr($eenarray);
?>


[ Bericht 29% gewijzigd door #ANONIEM op 26-09-2013 22:35:55 ]
pi_131602616
quote:
0s.gif Op donderdag 26 september 2013 22:34 schreef totalvamp het volgende:

[..]

Voordeel van (static) classes en functies :) erg handig voor dingen die je meerdere keren gebruikt.

Mijn favo voor lokaal testen vand data
[ code verwijderd ]

die jat ik even. :P
pi_131602658
Echt ga een framework gebruiken allemaal. Zoveel onnodige hoofdpijn hier... :P
pi_131602663
quote:
0s.gif Op donderdag 26 september 2013 22:30 schreef totalvamp het volgende:

[..]
[ code verwijderd ]

Dan zou ik het wel iets uitgebreider maken, al was het maar omdat empty() ook true kan opleveren voor situaties waarbij er wel data (de string "0") aanwezig is. Er zijn meer situaties, maar die lijken me minder van belang voor $_GET en $_POST.
pi_131602673
quote:
14s.gif Op donderdag 26 september 2013 22:36 schreef KomtTijd... het volgende:
Echt ga een framework gebruiken allemaal. Zoveel onnodige hoofdpijn hier... :P
Sssssssst ik laat hem langzaam die kant op gaan xD
pi_131602677
quote:
14s.gif Op donderdag 26 september 2013 22:36 schreef KomtTijd... het volgende:
Echt ga een framework gebruiken allemaal. Zoveel onnodige hoofdpijn hier... :P
Zijn er eigenlijk al kant en klare frameworks voor dit soort basis dingen? Ik kan er natuurlijk zelf een schrijven maar waarom het wiel opnieuw uitvinden :P (Natuurlijk wel zelf aanvullen)

[ Bericht 1% gewijzigd door #ANONIEM op 26-09-2013 22:37:50 ]
pi_131602722
quote:
2s.gif Op donderdag 26 september 2013 22:37 schreef d4v1d het volgende:

[..]

Zijn er eigenlijk al kant en klare frameworks voor dit soort basis dingen?
_O- you're kidding I hope?
pi_131602736
quote:
10s.gif Op donderdag 26 september 2013 22:38 schreef KomtTijd... het volgende:

[..]

_O- you're kidding I hope?
Oke ik snap hem al :')
  donderdag 26 september 2013 @ 22:38:24 #280
166255 Maringo
Bèhèhèhèh
pi_131602742
quote:
10s.gif Op donderdag 26 september 2013 22:38 schreef KomtTijd... het volgende:

[..]

_O- you're kidding I hope?
Dat is precies wat ik dacht toen ik je bericht tevoorschijn zag komen...
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
pi_131602761
Is dat zo'n rare vraag dan? :')
pi_131602768
quote:
0s.gif Op donderdag 26 september 2013 22:36 schreef Light het volgende:

[..]

Dan zou ik het wel iets uitgebreider maken, al was het maar omdat empty() ook true kan opleveren voor situaties waarbij er wel data (de string "0") aanwezig is. Er zijn meer situaties, maar die lijken me minder van belang voor $_GET en $_POST.
Het ging om een voorbeeld getypt in dit scherm xD daarnaast wil je 0 wel opvangen, een id kan 0 zijn. Maar je hebt gelijk dat je er meer controles op wilt hebben dan dit.
  donderdag 26 september 2013 @ 22:39:07 #283
166255 Maringo
Bèhèhèhèh
pi_131602786
quote:
2s.gif Op donderdag 26 september 2013 22:38 schreef d4v1d het volgende:
Is dat zo'n rare vraag dan? :')
Nou, Google. Plus dat overal tegenwoordig wel een framework voor is.
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
pi_131602795
quote:
2s.gif Op donderdag 26 september 2013 22:38 schreef d4v1d het volgende:
Is dat zo'n rare vraag dan? :')
....als je al een jaar met PHP bezig bent en nog nooit van een framework gehoord hebt? Ehja.
pi_131602823
quote:
14s.gif Op donderdag 26 september 2013 22:39 schreef KomtTijd... het volgende:

[..]

....als je al een jaar met PHP bezig bent en nog nooit van een framework gehoord hebt? Ehja.
Ik weet prima wat een framework is :')
pi_131602826
quote:
14s.gif Op donderdag 26 september 2013 22:36 schreef KomtTijd... het volgende:
Echt ga een framework gebruiken allemaal. Zoveel onnodige hoofdpijn hier... :P
Uitzoeken hoe dingen werken kan heel goed zonder framework, is misschien nog wel beter dan met een framework. Voor dingen die op een live website komen, is een framework wel aan te raden. De grootste veiligheidsrisico's zijn dan meteen afgedicht (of je moet een update installeren als er een bug gefixt is).
pi_131602854
quote:
2s.gif Op donderdag 26 september 2013 22:39 schreef Maringo het volgende:

[..]

Nou, Google. Plus dat overal tegenwoordig wel een framework voor is.
quote:
14s.gif Op donderdag 26 september 2013 22:39 schreef KomtTijd... het volgende:

[..]

....als je al een jaar met PHP bezig bent en nog nooit van een framework gehoord hebt? Ehja.
dit^

Al is het waarschijnlijk wel handig als je zelf met een framework bouwen begint. Niet omdat je een goed framework gaat maken, maar om de logica erachter te snappen ;)
pi_131602921
quote:
0s.gif Op donderdag 26 september 2013 22:39 schreef Light het volgende:

[..]

Uitzoeken hoe dingen werken kan heel goed zonder framework, is misschien nog wel beter dan met een framework. Voor dingen die op een live website komen, is een framework wel aan te raden. De grootste veiligheidsrisico's zijn dan meteen afgedicht (of je moet een update installeren als er een bug gefixt is).
Ik ben ook geen tegenstander van beginnen met from scratch programmeren, leer je toch beter de internals van een taal (zoal bijvoorbeeld wat de precieze eigenschappen zijn van een functie als empty(). )
pi_131603117
Bestaat er niet iets als defined in php?

In perl doe je dit:
1
2
3
4
5
6
if (defined $hash{$key}) { 
    print "$key bestaat en heeft als value $hash{$key}";

else {
    print "$key bestaat niet of heeft undef als value";
}

Want is_empty werkt niet als dusdanig.

1
2
3
4
5
6
7
8
<?php
if (array_key_exists($key$hash) && isset($kash[$key])) { 
    print 
"$key bestaat en heeft als value $hash[$key]";

else {
    print 
"of toch anders?"
}
?>


[ Bericht 6% gewijzigd door slacker_nl op 26-09-2013 22:54:05 ]
In theory there is no difference between theory and practice. In practice there is.
pi_131603149
quote:
0s.gif Op donderdag 26 september 2013 22:40 schreef totalvamp het volgende:

Al is het waarschijnlijk wel handig als je zelf met een framework bouwen begint. Niet omdat je een goed framework gaat maken, maar om de logica erachter te snappen ;)
Dat. Om de logica te begrijpen, is het heel geschikt. Zolang je dat framework maar niet gebruikt voor productiecode. :) (En dat geldt voor iedereen.)
pi_131603200
quote:
14s.gif Op donderdag 26 september 2013 22:45 schreef Light het volgende:

[..]

Dat. Om de logica te begrijpen, is het heel geschikt. Zolang je dat framework maar niet gebruikt voor productiecode. :) (En dat geldt voor iedereen.)
Ik gebruik mijn eigen voor een script :P
Dit omdat ik een simpel iets nodig had zonder veel overhead en gezeik.
Als ik een site eromheen zou bouwen had ik wel een framework genomen.

(framework is in een dag geschreven :') )

[ Bericht 7% gewijzigd door #ANONIEM op 26-09-2013 22:51:35 ]
pi_131603472
quote:
0s.gif Op donderdag 26 september 2013 22:45 schreef slacker_nl het volgende:
Bestaat er niet iets als defined in php?

In perl doe je dit:
[ code verwijderd ]

Want is_empty werkt niet als dusdanig.
[ code verwijderd ]

1
2
3
4
5
6
7
8
<?php
$a 
= array();
$a[0] = null;
var_dump(array_key_exists(0$a));
# bool(true)
php var_dump(isset($a[0]));
# bool(false)
?>
pi_131603567
quote:
0s.gif Op donderdag 26 september 2013 22:51 schreef Light het volgende:

[..]
[ code verwijderd ]

het is logisch dat array_keys_exists een true geeft hier ;) je controleert op de key niet de waarde :P
pi_131603583
quote:
0s.gif Op donderdag 26 september 2013 22:51 schreef Light het volgende:

[..]
[ code verwijderd ]

Wat ik zei dus :)
In theory there is no difference between theory and practice. In practice there is.
pi_131603759
quote:
0s.gif Op donderdag 26 september 2013 22:53 schreef totalvamp het volgende:

[..]

het is logisch dat array_keys_exists een true geeft hier ;) je controleert op de key niet de waarde :P
array_key_exists() controleert niet op de waarde, dat klopt. :) isset() doet dat wel, die geeft false terug als de waarde null is (en true bij alle andere waarden). Ze zijn dus net niet helemaal uitwisselbaar.
pi_131603910
quote:
0s.gif Op donderdag 26 september 2013 22:53 schreef slacker_nl het volgende:

[..]

Wat ik zei dus :)
Jouw code kan worden vereenvoudigd door de aanroep van array_key_exists() weg te laten.
pi_131604035
quote:
0s.gif Op donderdag 26 september 2013 22:59 schreef Light het volgende:

[..]

Jouw code kan worden vereenvoudigd door de aanroep van array_key_exists() weg te laten.
En als de key niet bestaat gaat het dan ook niet warnen?

Ja, want kennelijk heb ik het me ooit eens eerder af zitten vragen:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
cat x.php ; php x.php; echo ""
<?php

include_once("/home/xx/sbox/php/etc/env.php");


$array = array("hello" => "world", "how" => "are", "you" => null);

$k = 'test';
print "value :" . $array[$k];
print "isset :" . isset($array[$k]);
print "array_key :" . array_key_exists($k, $array);

?>

PHP Notice:  Undefined index: test in /home/xx/git/private/php/bin/x.php on line 9
Notice: Undefined index: test in /home/xx/git/private/php/bin/x.php on line 9
value :isset :array_key :

Ownee, dat is de value meuk. Owkee, duidelijk.

[ Bericht 27% gewijzigd door slacker_nl op 26-09-2013 23:07:15 ]
In theory there is no difference between theory and practice. In practice there is.
pi_131604144
quote:
0s.gif Op donderdag 26 september 2013 23:01 schreef slacker_nl het volgende:

[..]

En als de key niet bestaat gaat het dan ook niet warnen?
Nope, niet als je isset() gebruikt.
pi_131632859
Hoe moet je PHP en HTML apart houden? Vooral met loops vind ik het lastig.

Stukje php, daaroder html, met php er door heen, onleesbaar.
  vrijdag 27 september 2013 @ 23:12:53 #300
118585 Crutch
Filantroop || Taalzwengel
pi_131633550
quote:
0s.gif Op vrijdag 27 september 2013 22:48 schreef xaban06 het volgende:
Hoe moet je PHP en HTML apart houden? Vooral met loops vind ik het lastig.

Stukje php, daaroder html, met php er door heen, onleesbaar.
Een template engine gebruiken?
Je moeder is een hamster
  vrijdag 27 september 2013 @ 23:13:27 #301
118585 Crutch
Filantroop || Taalzwengel
pi_131633567
die;
Je moeder is een hamster
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')