abonnement Unibet Coolblue Bitvavo
pi_84730539
Ja, dat kan.
Je moet dan een LEFT OUTER JOIN doen, met een WHERE id IS NOT NULL :)
pi_84731204
quote:
Op zondag 1 augustus 2010 11:01 schreef Xcalibur het volgende:
Ja, dat kan.
Je moet dan een LEFT OUTER JOIN doen, met een WHERE id IS NOT NULL :)
In MySQL zit er geen verschil tussen een LEFT JOIN en een LEFT OUTER JOIN.
  zondag 1 augustus 2010 @ 12:05:00 #258
37634 wobbel
Da WoBBeL King
pi_84731894
LEFT JOIN werkt ook prima ;)

Maar ik heb nog een vraag, kan ik met PHP een IP range gemakkelijk ophogen? Is daar al een of ander scriptje of snippet voor? Kan met google niks vinden...

Mijn IP adres range is: 172.10.10.x

Nu heb ik een loop die 350 keer raait, en deze moet elke keer ophogen...maar na een tijdje moet hij er 172.10.11.x van maken omdat er maar maximaal 254 adressen in kunnen...

Is daar al iets kant en klaars voor? :P
  zondag 1 augustus 2010 @ 12:33:08 #259
75592 GlowMouse
l'état, c'est moi
pi_84732646
Als je integers gebruikt en inet_ntoa/inet_aton, wat gebeurt er als je 127.10.10.254 met twe ophoogt?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  zondag 1 augustus 2010 @ 12:34:29 #260
37634 wobbel
Da WoBBeL King
pi_84732678
quote:
Op zondag 1 augustus 2010 12:33 schreef GlowMouse het volgende:
Als je integers gebruikt en inet_ntoa/inet_aton, wat gebeurt er als je 127.10.10.254 met twe ophoogt?
PHP.net kent die functies niet?
  maandag 2 augustus 2010 @ 07:30:52 #261
4159 GI
Nee ik heet geen JOE
pi_84762906
quote:
Op zondag 1 augustus 2010 11:34 schreef Light het volgende:

[..]

In MySQL zit er geen verschil tussen een LEFT JOIN en een LEFT OUTER JOIN.
Ik doe het altijd met een outer join, heb me nooit gerealiseerd dat het met een gewone join ook werkt :D
  maandag 2 augustus 2010 @ 22:55:58 #263
75592 GlowMouse
l'état, c'est moi
pi_84793471
quote:
het leuke is dat ze niet compatible zijn :)
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  dinsdag 3 augustus 2010 @ 07:30:31 #264
4159 GI
Nee ik heet geen JOE
pi_84801833
quote:
Op maandag 2 augustus 2010 22:55 schreef GlowMouse het volgende:

[..]


het leuke is dat ze niet compatible zijn :)
Niet :o Ik heb ze nooit gebruikt maar ging er vanuit dat ze gelijk zouden werken :o
  dinsdag 3 augustus 2010 @ 10:21:40 #265
25889 Sitethief
Fulltime Flapdrol
pi_84804293
quote:
Op dinsdag 27 juli 2010 15:02 schreef Light het volgende:

[..]

Die derde optie levert ook een notice op.
[ code verwijderd ]

Dat gaat wel goed.
Hmm, ik merk net dat om dit helemaal lekker te laten lopen je ook een !empty nodig hebt omdat een form ook de lege velden meestuurt.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht >:)
pi_84805064
quote:
Op dinsdag 3 augustus 2010 10:21 schreef Sitethief het volgende:

[..]

Hmm, ik merk net dat om dit helemaal lekker te laten lopen je ook een !empty nodig hebt omdat een form ook de lege velden meestuurt.
Dan moet je isset weglaten. Beide gebruiken is in dit geval zinloos. (Ze zijn overigens niet elkaars tegengestelde.)

En een form stuurt bijna alle velden mee, leeg of niet. Uitzonderingen zijn de checkbox en de radiobox. De naam van een checkbox wordt alleen meegestuurd als de checkbox aangevinkt is. De value heb je dan niet nodig. Een radiobox wordt ook alleen meegestuurd als er een optie gekozen is, de value is afhankelijk van welke optie er gekozen is.
  dinsdag 3 augustus 2010 @ 11:07:06 #267
75592 GlowMouse
l'état, c'est moi
pi_84805524
quote:
Op dinsdag 3 augustus 2010 07:30 schreef GI het volgende:

[..]

Niet :o Ik heb ze nooit gebruikt maar ging er vanuit dat ze gelijk zouden werken :o
MySQL gebruikt unsigned ints, ip2long gebruikt signed ints.

Nog een leuke voor inputvalidatie, 'voorspel de output':
1
2
3
4
5
6
7
8
9
$_POST["var"] = "1 OR 1=1";

$allowed = array(1,2,3);
if (in_array($_POST["var"], $allowed)) {
    $var = $_POST["var"];
} else {
    $var = $allowed[0];
}
echo $var;
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_84806248
quote:
Op dinsdag 3 augustus 2010 11:07 schreef GlowMouse het volgende:

[..]

MySQL gebruikt unsigned ints, ip2long gebruikt signed ints.

Nog een leuke voor inputvalidatie, 'voorspel de output':
[ code verwijderd ]


Die is flauw :)
  dinsdag 3 augustus 2010 @ 11:53:36 #269
75592 GlowMouse
l'état, c'est moi
pi_84807041
quote:
Op dinsdag 3 augustus 2010 11:30 schreef Light het volgende:

[..]

Die is flauw :)
Je had hem goed
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.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  dinsdag 3 augustus 2010 @ 12:15:49 #270
152303 hamkaastosti
ook bekend als hamkaastosti
pi_84807642
wbt dat ip2long. mocht je bij het omzetten een negatieve int krijgen dan kun je met sprintf en %u hem omzetten voor het opslaan. staat ook in de manual geloof ik
Tom Jones zong ooit...
she's got style she's got grace, takes a cumshot to the face, she's a lady
laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
pi_84812224
Kort vraagje; ik sla mijn dvd verzameling op in een textfile, inhoud ziet er ongeveer zo uit:
84|31-07-2010|Film|DVD5|Leap year
83|26-07-2010|Film|DVD5|Clash of the titans
82|26-07-2010|Film|DVD9|The Invention Of lying
81|25-07-2010|Film|DVD5|Hunter prey
80|25-07-2010|Film|DVD5|The karate kid

Nu wil ik aan de bovenkant van het bestand in php een extra regel toevoegen. Mijn vraag: Hoe doe ik dat? heb wat zitten googlen, maar er zijn maar weinig bruikbare script te vinden...

bvd
to say of what is that it is not, or of what is not that it is, is false, while to say of what is that it is, or of what is not that it is not, is true
  dinsdag 3 augustus 2010 @ 14:33:10 #272
254493 Trollface.
gr rob fruithof, groningencity
pi_84812480
quote:
Op dinsdag 3 augustus 2010 14:26 schreef webbyplus het volgende:
Kort vraagje; ik sla mijn dvd verzameling op in een textfile, inhoud ziet er ongeveer zo uit:
84|31-07-2010|Film|DVD5|Leap year
83|26-07-2010|Film|DVD5|Clash of the titans
82|26-07-2010|Film|DVD9|The Invention Of lying
81|25-07-2010|Film|DVD5|Hunter prey
80|25-07-2010|Film|DVD5|The karate kid

Nu wil ik aan de bovenkant van het bestand in php een extra regel toevoegen. Mijn vraag: Hoe doe ik dat? heb wat zitten googlen, maar er zijn maar weinig bruikbare script te vinden...

bvd
1
2
3
4
5
6
7
8
9
10
11
12
<?php 
 $strFile 
'films.txt';
 if(!
is_file($strFile) || !is_readable($strFile) || !is_writable($strFile)) {
   die(
'Het bestand bestaat niet of is niet leesbaar/schrijfbaar!');
 }

 
$strContents file_get_contents($strFile);

 
$strContents "12|12-03-2045|DVD9|Requiem for a Dream\r\n" $strContents;

 
file_put_contents($strFile$strContents);
?>
\r\n is een newline, oftewel een enter. ;)
★5731U★ Death from above '79★You're a woman, i'm a machinielsie ★ ✠ ★ Telkens weer een beetje sterven★ I was born in a winterstorm, i live there still★
  dinsdag 3 augustus 2010 @ 14:41:50 #273
75592 GlowMouse
l'état, c'est moi
pi_84812808
werkt lekker als je met grote files werkt
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  dinsdag 3 augustus 2010 @ 14:44:12 #274
136730 PiRANiA
All thinking men are atheists.
pi_84812898
quote:
[[Editors note: There is no "prepend" mode, you must essentially rewrite the entire file after prepending contents to a string. Perhaps you will use file(), modify, implode(), then fopen()/fwrite() it back]]
To put strings into the front of the file, you need to set place the pointer at the top of the file when openning the file with fopen(), see fopen() for more info.
http://php.net/manual/en/function.fwrite.php
  woensdag 4 augustus 2010 @ 14:59:26 #275
85919 Likkende_Lassie
Doe eens wat aan je ondertitel
pi_84854052
Ok ik heb de volgende vraag:

Ik ben bezig met webservices en nu krijg ik een SOAP response. Vervolgens haal ik die door deze functie:


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
<?php
function xml2array($xml) {
   
$xmlary = array();

   
$reels '/<(\w+)\s*([^\/>]*)\s*(?:\/>|>(.*)<\/\s*\\1\s*>)/s';
   
$reattrs '/(\w+)=(?:"|\')([^"\']*)(:?"|\')/';

   
preg_match_all($reels$xml$elements);

   foreach (
$elements[1] as $ie => $xx) {
      
$xmlary[$ie]["name"] = $elements[1][$ie];

      if (
$attributes trim($elements[2][$ie])) {
         
preg_match_all($reattrs$attributes$att);
         foreach (
$att[1] as $ia => $xx)
            
$xmlary[$ie]["attributes"][$att[1][$ia]] = $att[2][$ia];
      }

      
$cdend strpos($elements[3][$ie], "<");
      if (
$cdend 0) {
         
$xmlary[$ie]["text"] = substr($elements[3][$ie], 0$cdend 1);
      }

      if (
preg_match($reels$elements[3][$ie]))
         
$xmlary[$ie]["elements"] = xml2array($elements[3][$ie]);
      else if (
$elements[3][$ie]) {
         
$xmlary[$ie]["text"] = $elements[3][$ie];
      }
   }

   return 
$xmlary;
}
?>
Vervolgens krijg ik dit als gedeelte van het 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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
rray
(
    [0] => Array
        (
            [name] => Aansluitingen
            [attributes] => Array
                (
                    [id] => Aansluitingen1
                    [rowOrder] => 0
                )

            [elements] => Array
                (
                    [0] => Array
                        (
                            [name] => ContractRegelID
                            [text] => 510
                            [elements] => Array
                                (
                                    [0] => Array
                                        (
                                            [name] => MeterID
                                            [text] => 5988
                                            [elements] => Array
                                                (
                                                    [0] => Array
                                                        (
                                                            [name] => MeetDatum
                                                            [text] => 2009-12-31T00:00:00+01:0
                                                            [elements] => Array
                                                                (
                                                                    [0] => Array
                                                                        (
                                                                            [name] => SegmentNaam
                                                                            [text] => Gas
                                                                        )

                                                                    [1] => Array
                                                                        (
                                                                            [name] => SegmentID
                                                                            [text] => 27
                                                                        )

                                                                    [2] => Array
                                                                        (
                                                                            [name] => HoogType
                                                                            [text] => gas
                                                                        )

                                                                    [3] => Array
                                                                        (
                                                                            [name] => Hoog
                                                                            [text] => 555
                                                                        )

                                                                    [4] => Array
                                                                        (
                                                                            [name] => LaagType
                                                                        )

                                                                    [5] => Array
                                                                        (
                                                                            [name] => ContractRegelID
                                                                            [text] => 5105
                                                                        )

                                                                    [6] => Array
                                                                        (
                                                                            [name] => MeterID
                                                                            [text] => 59880
                                                                        )

                                                                )

                                                        )

                                                    [1] => Array
                                                        (
                                                            [name] => SegmentNaam
                                                            [text] => Gas
                                                        )

                                                    [2] => Array
                                                        (
                                                            [name] => SegmentID
                                                            [text] => 27
                                                        )

                                                    [3] => Array
                                                        (
                                                            [name] => HoogType
                                                            [text] => gas
                                                        )

                                                    [4] => Array
                                                        (
                                                            [name] => Hoog
                                                            [text] => 36787
                                                        )

                                                    [5] => Array
                                                        (
                                                            [name] => LaagType
                                                        )

                                                    [6] => Array
                                                        (
                                                            [name] => ContractRegelID
                                                            [text] => 5105
                                                        )

                                                )

                                        )

                                    [1] => Array
                                        (
                                            [name] => MeetDatum
                                            [text] => 2010-05-02T00:00:00+02:00
                                        )

                                    [2] => Array
                                        (
                                            [name] => SegmentNaam
                                            [text] => Gas
                                        )

                                    [3] => Array
                                        (
                                            [name] => SegmentID
                                            [text] => 27
                                        )

                                    [4] => Array
                                        (
                                            [name] => HoogType
                                            [text] => gas
                                        )

                                    [5] => Array
                                        (
                                            [name] => Hoog
                                            [text] => 243333
                                        )

                                    [6] => Array
                                        (
                                            [name] => LaagType
                                        )

                                )

                        )

                    [1] => Array
                        (
                            [name] => MeterID
                            [text] => 59880
                        )

                    [2] => Array
                        (
                            [name] => MeetDatum
                            [text] => 2010-05-12T00:00:00+02:00
                        )

                    [3] => Array
                        (
                            [name] => SegmentNaam
                            [text] => Gas
                        )

                    [4] => Array
                        (
                            [name] => SegmentID
                            [text] => 27
                        )

                    [5] => Array
                        (
                            [name] => HoogType
                            [text] => gas
                        )

                    [6] => Array
                        (
                            [name] => Hoog
                            [text] => 34
                        )

                    [7] => Array
                        (
                            [name] => LaagType
                        )

                )

        )
Dit wil in een nette array hebben, hoe dit te doen?
  donderdag 5 augustus 2010 @ 10:26:12 #276
85919 Likkende_Lassie
Doe eens wat aan je ondertitel
pi_84885906
iemand? :'(
  donderdag 5 augustus 2010 @ 11:04:57 #277
25889 Sitethief
Fulltime Flapdrol
pi_84887036
PHP heeft een hoop functies om met UNIX timestamps te rekenen en om te gaan. Maar ik moet nu met het MySQL TIME type gaan werken, en ik kan niet zo een twee drie vinden hoe PHP hier mee om gaat. Moet ik bijv. HH:MM:SS uit elkaar slopen voor ik er mee ga rekenen, of kan PHP hier native mee rekenen?
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  donderdag 5 augustus 2010 @ 11:06:30 #278
25889 Sitethief
Fulltime Flapdrol
pi_84887086
quote:
Op donderdag 5 augustus 2010 10:26 schreef Likkende_Lassie het volgende:
iemand? :'(
Wat bedoel je precies met een nette array? Dit is een multidimensionale array.
Wil je de array plat maken? Dan verlies je wel bepaalde informatie denk ik.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_84887416
quote:
Op donderdag 5 augustus 2010 11:04 schreef Sitethief het volgende:
PHP heeft een hoop functies om met UNIX timestamps te rekenen en om te gaan. Maar ik moet nu met het MySQL TIME type gaan werken, en ik kan niet zo een twee drie vinden hoe PHP hier mee om gaat. Moet ik bijv. HH:MM:SS uit elkaar slopen voor ik er mee ga rekenen, of kan PHP hier native mee rekenen?
strtotime()
  donderdag 5 augustus 2010 @ 11:31:16 #280
75592 GlowMouse
l'état, c'est moi
pi_84887858
quote:
Op donderdag 5 augustus 2010 11:04 schreef Sitethief het volgende:
PHP heeft een hoop functies om met UNIX timestamps te rekenen en om te gaan. Maar ik moet nu met het MySQL TIME type gaan werken, en ik kan niet zo een twee drie vinden hoe PHP hier mee om gaat. Moet ik bijv. HH:MM:SS uit elkaar slopen voor ik er mee ga rekenen, of kan PHP hier native mee rekenen?
SELECT UNIX_TIMESTAMP(jouw_kolomnaam).
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  donderdag 5 augustus 2010 @ 11:37:49 #281
25889 Sitethief
Fulltime Flapdrol
pi_84888106
quote:
Op donderdag 5 augustus 2010 11:17 schreef Light het volgende:

[..]

strtotime()
Dat is juist niet wat ik wil. Denk ik....
Ik heb begin en einde tijden voor werkdagen, ik wil dus bijv. weten dus weten hoeveel uren een bepaald persoon per week werkt Wat heb ik dan aan UNIX time? Deze uren staan als HHMMSS in de database. Zo dus:

actwtID 1
actwtClientID 13
actwtDag maandag
actwtStart 080000
actwtEinde 163000
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  donderdag 5 augustus 2010 @ 11:38:35 #282
254493 Trollface.
gr rob fruithof, groningencity
pi_84888140
quote:
Op donderdag 5 augustus 2010 11:37 schreef Sitethief het volgende:

[..]

Dat is juist niet wat ik wil. Denk ik....
Ik heb begin en einde tijden voor werkdagen, ik wil dus bijv. weten dus weten hoeveel uren een bepaald persoon per week werkt Wat heb ik dan aan UNIX time? Deze uren staan als HHMMSS in de database. Zo dus:

actwtID 1
actwtClientID 13
actwtDag maandag
actwtStart 080000
actwtEinde 163000
1
2
3
4
5
6
<?php
list($intStartHour$intStartMinute$intStartSecond) = str_split($arrRow['actwtStart'], 2);
list(
$intEndHour$intEndMinute$intEndSecond) = str_split($arrRow['actwtEinde'], 2);
$intDifference $intEndHour 3600 $intEndMinute 60 $intEndSecond $intStartHour 3600 $intStartMinute 60 $intEndSecond;
$intHours ceil($intDifference 3600);
?>
Als je direct in SQL zelf wilt doen kom je met SUBSTR() al een heel eind.

[ Bericht 32% gewijzigd door Trollface. op 05-08-2010 12:12:20 (minuten --> uren) ]
★5731U★ Death from above '79★You're a woman, i'm a machinielsie ★ ✠ ★ Telkens weer een beetje sterven★ I was born in a winterstorm, i live there still★
  donderdag 5 augustus 2010 @ 11:51:17 #283
25889 Sitethief
Fulltime Flapdrol
pi_84888591
quote:
Op donderdag 5 augustus 2010 11:38 schreef Trollface. het volgende:

[..]


[ code verwijderd ]

Als je direct in SQL zelf wilt doen kom je met SUBSTR() al een heel eind.
Hmm ja, dit is idd ongeveer wat ik bedoel. Bedankt!

1
2
3
<?php
$intHours 
ceil($intDifference 60);
?>
Is trouwens minuten en niet uren ;).
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_84888645
quote:
Op donderdag 5 augustus 2010 11:37 schreef Sitethief het volgende:

[..]

Dat is juist niet wat ik wil. Denk ik....
Ik heb begin en einde tijden voor werkdagen, ik wil dus bijv. weten dus weten hoeveel uren een bepaald persoon per week werkt Wat heb ik dan aan UNIX time? Deze uren staan als HHMMSS in de database. Zo dus:

actwtID 1
actwtClientID 13
actwtDag maandag
actwtStart 080000
actwtEinde 163000
Hmmja, dan wordt het lastig. MySQL kan zelf ook met TIME rekenen, voor zover ik weet :) En anders was het misschien handiger om begintijd en eindtijd als DATETIME op te slaan. (Ook handig voor als iemand een keer tot na middernacht doorwerkt.)
  donderdag 5 augustus 2010 @ 12:12:05 #285
254493 Trollface.
gr rob fruithof, groningencity
pi_84889342
quote:
Op donderdag 5 augustus 2010 11:51 schreef Sitethief het volgende:

[..]

Hmm ja, dit is idd ongeveer wat ik bedoel. Bedankt!
[ code verwijderd ]

Is trouwens minuten en niet uren ;).
Klopt, mijn excuses. :P
★5731U★ Death from above '79★You're a woman, i'm a machinielsie ★ ✠ ★ Telkens weer een beetje sterven★ I was born in a winterstorm, i live there still★
  donderdag 5 augustus 2010 @ 12:22:08 #286
75592 GlowMouse
l'état, c'est moi
pi_84889702
Wat een lelijke methoden. Als je alleen de uur en minuten nodig hebt, pak dan SELECT HOUR(col), MINUTE(col)
wat Light zegt dus :)
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  donderdag 5 augustus 2010 @ 12:30:55 #287
137776 boem-dikkie
Jedi Mind Baby!
pi_84890008
Ik heb een contactformulier en wil deze op de één of andere manier een beetje beveiligen tegen spam. Nou heb ik wat captcha oplossingen et cetera gevonden maar dit vind ik een beetje lelijk en irritant. :@

Zijn er ook betere manieren in te bouwen dat je spam een beetje tegen kunt gaan?
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_84890155
quote:
Op donderdag 5 augustus 2010 12:22 schreef GlowMouse het volgende:
Wat een lelijke methoden. Als je alleen de uur en minuten nodig hebt, pak dan SELECT HOUR(col), MINUTE(col)
wat Light zegt dus :)
En als je alleen het verschil tussen twee tijdstippen wilt weten, kun je ook met de MySQL-functie TIMEDIFF() aan de slag.
  donderdag 5 augustus 2010 @ 12:53:24 #289
25889 Sitethief
Fulltime Flapdrol
pi_84890756
quote:
Op donderdag 5 augustus 2010 11:52 schreef Light het volgende:

[..]

Hmmja, dan wordt het lastig. MySQL kan zelf ook met TIME rekenen, voor zover ik weet :) En anders was het misschien handiger om begintijd en eindtijd als DATETIME op te slaan. (Ook handig voor als iemand een keer tot na middernacht doorwerkt.)
Het gaat hier om relatieve tijden. Die dus niet vastliggen op een datum. Anders had ik wel gewoon DATETIME gepakt :P. Dus puur hoe iemands standaard werkweek er uit ziet.
quote:
Op donderdag 5 augustus 2010 12:30 schreef boem-dikkie het volgende:
Ik heb een contactformulier en wil deze op de één of andere manier een beetje beveiligen tegen spam. Nou heb ik wat captcha oplossingen et cetera gevonden maar dit vind ik een beetje lelijk en irritant. :@

Zijn er ook betere manieren in te bouwen dat je spam een beetje tegen kunt gaan?
Laat ze een rekensom oplossen, of een simpele vraag beantwoorden.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_84890826
Ik heb nooit echt gebruik gemaakt van het DATETIME type in MySQL, UNIX timestamps zijn voor mij altijd voldoende geweest om te doen wat ik wil, en er is heel eenvoudig mee te rekenen. :)
  donderdag 5 augustus 2010 @ 12:58:26 #291
25889 Sitethief
Fulltime Flapdrol
pi_84890900
quote:
Op donderdag 5 augustus 2010 12:55 schreef Tuvai.net het volgende:
Ik heb nooit echt gebruik gemaakt van het DATETIME type in MySQL, UNIX timestamps zijn voor mij altijd voldoende geweest om te doen wat ik wil, en er is heel eenvoudig mee te rekenen. :)
12:00:00 op een willekeurige dag kun je moeilijk in UNIX timestamp weergeven.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_84890984
quote:
Op donderdag 5 augustus 2010 12:58 schreef Sitethief het volgende:

[..]

12:00:00 op een willekeurige dag kun je moeilijk in UNIX timestamp weergeven.
Oh, op die manier. :) Nee, dat gaat inderdaad lastig. Ik had alleen maar een paar laatste posts gelezen en dacht dat we het over specifieke tijdstippen hadden. :P
  donderdag 5 augustus 2010 @ 13:17:39 #293
25889 Sitethief
Fulltime Flapdrol
pi_84891454
quote:
Op donderdag 5 augustus 2010 12:34 schreef Light het volgende:

[..]

En als je alleen het verschil tussen twee tijdstippen wilt weten, kun je ook met de MySQL-functie TIMEDIFF() aan de slag.
1
2
3
<?php
SELECT TIMEDIFF
(`actwtEinde`,`actwtStart`) FROM `act_werktijden` as verschil
?>
Easy peasy :). Thanks _O_ .
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  donderdag 5 augustus 2010 @ 15:13:29 #294
85919 Likkende_Lassie
Doe eens wat aan je ondertitel
pi_84895948
quote:
Op donderdag 5 augustus 2010 11:06 schreef Sitethief het volgende:

[..]

Wat bedoel je precies met een nette array? Dit is een multidimensionale array.
Wil je de array plat maken? Dan verlies je wel bepaalde informatie denk ik.
Ja dat bedoel ik, hoe kan ik dan het beste een multidimensionale uitlezen in php?
Met een foreach dus.. ?

Thanks!
  vrijdag 6 augustus 2010 @ 09:51:39 #295
85919 Likkende_Lassie
Doe eens wat aan je ondertitel
pi_84927636
Iemand die dat weet? :)
  vrijdag 6 augustus 2010 @ 10:11:29 #296
91039 mstx
2x1/2 = 1/2 x 1/2
pi_84928263
quote:
Op donderdag 5 augustus 2010 15:13 schreef Likkende_Lassie het volgende:

[..]

Ja dat bedoel ik, hoe kan ik dan het beste een multidimensionale uitlezen in php?
Met een foreach dus.. ?

Thanks!
Ja, en als je het oneindig diep uit wilt lezen moet je een recursieve functie maken.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php

function doeIetsMetMultiDimensionaleArray($array){
 if (
count($array)>0) {
  foreach ( 
$array as $k=>$v ) {
   if ( 
is_array($v) ) {
    
doeIetsMetMultiDimensionaleArray($v);
   } else {
    echo 
"Doe hier iets met deze waarde: ".$v."\n";
   }
  }
 }
}

doeIetsMetMultiDimensionaleArray($xmlarray);

?>
Zoiets.
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 6 augustus 2010 @ 10:18:38 #297
85919 Likkende_Lassie
Doe eens wat aan je ondertitel
pi_84928475
Misschien moet ik mijn vraag anders stellen. Ik doe een call via webservices. Ik krijg dan het volgende terug:

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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <GetFacturenResponse xmlns="http://ncis.nl/CSSWebservices">
         <GetFacturenResult>
            <xs:schema id="NewDataSet" targetNamespace="ncis" attributeFormDefault="qualified" elementFormDefault="qualified" xmlns:mstns="ncis" xmlns="ncis" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
               <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="ncis_x003A_Facturen" msdata:UseCurrentLocale="true">
                  <xs:complexType>
                     <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element name="Facturen">
                           <xs:complexType>
                              <xs:sequence>
                                 <xs:element name="Result" type="xs:string" minOccurs="0"/>
                                 <xs:element name="Remark" type="xs:string" minOccurs="0"/>
                                 <xs:element name="ContractID" type="xs:int" minOccurs="0"/>
                                 <xs:element name="ContractRegelID" type="xs:int" minOccurs="0"/>
                                 <xs:element name="ReferentieID" type="xs:int" minOccurs="0"/>
                                 <xs:element name="FactuurID" type="xs:int" minOccurs="0"/>
                                 <xs:element name="Soort" type="xs:string" minOccurs="0"/>
                                 <xs:element name="Type" type="xs:string" minOccurs="0"/>
                                 <xs:element name="Verrekenbaar" type="xs:boolean" minOccurs="0"/>
                                 <xs:element name="Termijn" type="xs:int" minOccurs="0"/>
                                 <xs:element name="Jaar" type="xs:int" minOccurs="0"/>
                                 <xs:element name="Betaalwijze" type="xs:string" minOccurs="0"/>
                                 <xs:element name="Rekeningnummer" type="xs:string" minOccurs="0"/>
                                 <xs:element name="Media" type="xs:string" minOccurs="0"/>
                                 <xs:element name="BedragExcl" type="xs:decimal" minOccurs="0"/>
                                 <xs:element name="BedragIncl" type="xs:decimal" minOccurs="0"/>
                                 <xs:element name="FactuurBedragIncl" type="xs:decimal" minOccurs="0"/>
                                 <xs:element name="VervalDatum" type="xs:dateTime" minOccurs="0"/>
                                 <xs:element name="FactuurOpenstaandBedragIncl" type="xs:decimal" minOccurs="0"/>
                              </xs:sequence>
                           </xs:complexType>
                        </xs:element>
                     </xs:choice>
                  </xs:complexType>
               </xs:element>
            </xs:schema>
            <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
               <DocumentElement xmlns="ncis">
                  <Facturen diffgr:id="Facturen1" msdata:rowOrder="0">
                     <ContractID>xxxxx</ContractID>
                     <FactuurID>631510</FactuurID>
                     <Soort>Factuur</Soort>
                     <Type>Voorschot</Type>
                     <Verrekenbaar>true</Verrekenbaar>
                     <Termijn>8</Termijn>
                     <Jaar>2010</Jaar>
                     <Betaalwijze>IC</Betaalwijze>
                     <Rekeningnummer>XXXXXXX</Rekeningnummer>
                     <Media>Voorschotfactuur_xxxxx_2010_8_20100803.pdf</Media>
                     <BedragExcl>1857200</BedragExcl>
                     <BedragIncl>2210000</BedragIncl>
                     <FactuurBedragIncl>2210000</FactuurBedragIncl>
                     <VervalDatum>2010-08-17T00:00:00+02:00</VervalDatum>
                  </Facturen>
                  <Facturen diffgr:id="Facturen2" msdata:rowOrder="1">
                     <ContractID>xxxxx</ContractID>
                     <FactuurID>627891</FactuurID>
                     <Soort>Factuur</Soort>
                     <Type>Voorschot</Type>
                     <Verrekenbaar>true</Verrekenbaar>
                     <Termijn>7</Termijn>
                     <Jaar>2010</Jaar>
                     <Betaalwijze>IC</Betaalwijze>
                     <Rekeningnummer>XXXXXXX</Rekeningnummer>
                     <Media>Voorschotfactuur_xxxxx_2010_7_20100703.pdf</Media>
                     <BedragExcl>1857200</BedragExcl>
                     <BedragIncl>2210000</BedragIncl>
                     <FactuurBedragIncl>2210000</FactuurBedragIncl>
                     <VervalDatum>2010-07-19T00:00:00+02:00</VervalDatum>
                  </Facturen>
                  <Facturen diffgr:id="Facturen3" msdata:rowOrder="2">
                     <ContractID>xxxxx</ContractID>
                     <FactuurID>620726</FactuurID>
                     <Soort>Factuur</Soort>
                     <Type>Voorschot</Type>
                     <Verrekenbaar>true</Verrekenbaar>
                     <Termijn>6</Termijn>
                     <Jaar>2010</Jaar>
                     <Betaalwijze>IC</Betaalwijze>
                     <Rekeningnummer>XXXXXXX</Rekeningnummer>
                     <Media>Voorschotfactuur_xxxxx_2010_6_20100604.pdf</Media>
                     <BedragExcl>1764800</BedragExcl>
                     <BedragIncl>2100000</BedragIncl>
                     <FactuurBedragIncl>2100000</FactuurBedragIncl>
                     <VervalDatum>2010-06-18T00:00:00+02:00</VervalDatum>
                  </Facturen>
                  <Facturen diffgr:id="Facturen4" msdata:rowOrder="3">
                     <ContractID>xxxxx</ContractID>
                     <FactuurID>617091</FactuurID>
                     <Soort>Factuur</Soort>
                     <Type>Voorschot</Type>
                     <Verrekenbaar>true</Verrekenbaar>
                     <Termijn>5</Termijn>
                     <Jaar>2010</Jaar>
                     <Betaalwijze>IC</Betaalwijze>
                     <Rekeningnummer>XXXXXXX</Rekeningnummer>
                     <Media>Voorschotfactuur_xxxxx_2010_5_20100510.pdf</Media>
                     <BedragExcl>1764800</BedragExcl>
                     <BedragIncl>2100000</BedragIncl>
                     <FactuurBedragIncl>2100000</FactuurBedragIncl>
                     <VervalDatum>2010-05-24T00:00:00+02:00</VervalDatum>
                  </Facturen>
                  <Facturen diffgr:id="Facturen5" msdata:rowOrder="4">
                     <ContractID>xxxxx</ContractID>
                     <FactuurID>613446</FactuurID>
                     <Soort>Factuur</Soort>
                     <Type>Voorschot</Type>
                     <Verrekenbaar>true</Verrekenbaar>
                     <Termijn>4</Termijn>
                     <Jaar>2010</Jaar>
                     <Betaalwijze>IC</Betaalwijze>
                     <Rekeningnummer>XXXXXXX</Rekeningnummer>
                     <Media>Voorschotfactuur_xxxxx_2010_4_20100414.pdf</Media>
                     <BedragExcl>1764800</BedragExcl>
                     <BedragIncl>2100000</BedragIncl>
                     <FactuurBedragIncl>2100000</FactuurBedragIncl>
                     <VervalDatum>2010-04-28T00:00:00+02:00</VervalDatum>
                  </Facturen>
                  <Facturen diffgr:id="Facturen6" msdata:rowOrder="5">
                     <ContractID>xxxxx</ContractID>
                     <FactuurID>610657</FactuurID>
                     <Soort>Factuur</Soort>
                     <Type>Voorschot</Type>
                     <Verrekenbaar>true</Verrekenbaar>
                     <Termijn>3</Termijn>
                     <Jaar>2010</Jaar>
                     <Betaalwijze>IC</Betaalwijze>
                     <Rekeningnummer>XXXXXXX</Rekeningnummer>
                     <Media>Voorschotfactuur_xxxxx_2010_3_20100319.pdf</Media>
                     <BedragExcl>1764800</BedragExcl>
                     <BedragIncl>2100000</BedragIncl>
                     <FactuurBedragIncl>2100000</FactuurBedragIncl>
                     <VervalDatum>2010-04-02T00:00:00+02:00</VervalDatum>
                  </Facturen>
                  <Facturen diffgr:id="Facturen7" msdata:rowOrder="6">
                     <ContractID>xxxxx</ContractID>
                     <FactuurID>608073</FactuurID>
                     <Soort>Factuur</Soort>
                     <Type>Voorschot</Type>
                     <Verrekenbaar>true</Verrekenbaar>
                     <Termijn>2</Termijn>
                     <Jaar>2010</Jaar>
                     <Betaalwijze>IC</Betaalwijze>
                     <Rekeningnummer>XXXXXXX</Rekeningnummer>
                     <Media>Voorschotfactuur_xxxxx_2010_2.pdf</Media>
                     <BedragExcl>1764700</BedragExcl>
                     <BedragIncl>2100000</BedragIncl>
                     <FactuurBedragIncl>2100000</FactuurBedragIncl>
                     <VervalDatum>2010-03-04T00:00:00+01:00</VervalDatum>
                  </Facturen>
                  <Facturen diffgr:id="Facturen8" msdata:rowOrder="7">
                     <ContractID>xxxxx</ContractID>
                     <FactuurID>603370</FactuurID>
                     <Soort>Factuur</Soort>
                     <Type>Voorschot</Type>
                     <Verrekenbaar>true</Verrekenbaar>
                     <Termijn>1</Termijn>
                     <Jaar>2010</Jaar>
                     <Betaalwijze>IC</Betaalwijze>
                     <Rekeningnummer>XXXXXXX</Rekeningnummer>
                     <Media>Voorschotfactuur_xxxxx_2010_1.pdf</Media>
                     <BedragExcl>1789700</BedragExcl>
                     <BedragIncl>2129700</BedragIncl>
                     <FactuurBedragIncl>2129700</FactuurBedragIncl>
                     <VervalDatum>2010-02-08T00:00:00+01:00</VervalDatum>
                  </Facturen>
               </DocumentElement>
            </diffgr:diffgram>
         </GetFacturenResult>
      </GetFacturenResponse>
   </soap:Body>
</soap:Envelope>
Nu wil ik de facturen gewoon via een normale array kunnen uitlezen, maar hij ziet er behoorlijk onlogisch uit. Dit is mijn php code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
function xml2array($xml) {
   
$xmlary = array();

   
$reels '/<(\w+)\s*([^\/>]*)\s*(?:\/>|>(.*)<\/\s*\\1\s*>)/s';
   
$reattrs '/(\w+)=(?:"|\')([^"\']*)(:?"|\')/';

   
preg_match_all($reels$xml$elements);

   foreach (
$elements[1] as $ie => $xx) {
      
$xmlary[$ie]["name"] = $elements[1][$ie];

      if (
$attributes trim($elements[2][$ie])) {
         
preg_match_all($reattrs$attributes$att);
         foreach (
$att[1] as $ia => $xx)
            
$xmlary[$ie]["attributes"][$att[1][$ia]] = $att[2][$ia];
      }

      
$cdend strpos($elements[3][$ie], "<");
      if (
$cdend 0) {
         
$xmlary[$ie]["text"] = substr($elements[3][$ie], 0$cdend 1);
      }

      if (
preg_match($reels$elements[3][$ie]))
         
$xmlary[$ie]["elements"] = xml2array($elements[3][$ie]);
      else if (
$elements[3][$ie]) {
         
$xmlary[$ie]["text"] = $elements[3][$ie];
      }
   }

   return 
$xmlary;
}


      
$result soapCall('GetFacturen', array('sessieID' => $_SESSION['loginSession_ID'], 'Contractnummer' => $_SESSION['contractnummer']));


      
//lets put it in a readable array!
      
$resultArray xml2array($result->GetFacturenResult->any);
?>
  vrijdag 6 augustus 2010 @ 10:47:44 #298
85919 Likkende_Lassie
Doe eens wat aan je ondertitel
pi_84929298
Ik moet dit rond 2 uur helemaal werkend hebben, dus vandaar mijn haast. Eventueel iemand die dit snel kan fixen tegen betaling? Zeg maar wat je er voor moet hebben!

Hartelijk dank!
  vrijdag 6 augustus 2010 @ 10:54:02 #299
254493 Trollface.
gr rob fruithof, groningencity
pi_84929501
Je wilt het gewoon in een array hebben?
Je kunt een DOM-parser hiervoor gebruiken, weet je.
★5731U★ Death from above '79★You're a woman, i'm a machinielsie ★ ✠ ★ Telkens weer een beetje sterven★ I was born in a winterstorm, i live there still★
  vrijdag 6 augustus 2010 @ 11:21:49 #300
85919 Likkende_Lassie
Doe eens wat aan je ondertitel
pi_84930427
Thanks, heb DOM op de server geactiveerd, maar met het volgende kom ik er nog niet direct:

1
2
3
4
5
6
7
8
9
<?php
$result 
soapCall('GetFacturen', array('sessieID' => $_SESSION['loginSession_ID'], 'Contractnummer' => $_SESSION['contractnummer']));


      
$objDOM = new DOMDocument();
      
$objDOM->load($result); //make sure path is correct
      
$Facturen $objDOM->getElementsByTagName("Facturen");
      
print_r($Facturen);
?>
Ben er bijna volgens mij! ( ? )
  vrijdag 6 augustus 2010 @ 11:40:20 #301
254493 Trollface.
gr rob fruithof, groningencity
pi_84931036
Wat komt eruit rollen?
★5731U★ Death from above '79★You're a woman, i'm a machinielsie ★ ✠ ★ Telkens weer een beetje sterven★ I was born in a winterstorm, i live there still★
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')