abonnement Unibet Coolblue Bitvavo
  dinsdag 23 juni 2009 @ 11:09:10 #51
187069 slacker_nl
Sicko pur sang
pi_70283234
quote:
Op dinsdag 23 juni 2009 09:19 schreef Swetsenegger het volgende:

[..]

Ja ik begrijp hoe een lusje werkt. Het ging me om de array manipulatie
array_push($data[$id][$kleur], $data_from_table) ?

(ik weet dat er een "snellere" manier is om dingen in een array te pushen voor de mensen die gaan vallen over de array_push functie).
In theory there is no difference between theory and practice. In practice there is.
  dinsdag 23 juni 2009 @ 11:09:39 #52
58834 Catbert
The evil HR Director.
pi_70283252
quote:
Op dinsdag 23 juni 2009 10:54 schreef Intrepidity het volgende:
Klopt, en omdat PHP geen perfecte taal is heeft het wel degelijk zin om constanten in plaats van functieaanroepen te gebruiken, dat was m'n punt..
Ik zeg niet dat het perse slecht is, maar niet als het ten koste gaat van de leesbaarheid van je code. Da's m'n punt. Math.PI bijvoorbeeld is een constante die iedereen gebruikt, en ook prima leesbaar is. Die __CLASS__ ofzo constante is IMHO een nono.
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
  dinsdag 23 juni 2009 @ 11:14:43 #53
187069 slacker_nl
Sicko pur sang
pi_70283397
quote:
Op dinsdag 23 juni 2009 11:09 schreef Catbert het volgende:

[..]

Ik zeg niet dat het perse slecht is, maar niet als het ten koste gaat van de leesbaarheid van je code. Da's m'n punt. Math.PI bijvoorbeeld is een constante die iedereen gebruikt, en ook prima leesbaar is. Die __CLASS__ ofzo constante is IMHO een nono.
Gelukkig is het je humble opinion.
In theory there is no difference between theory and practice. In practice there is.
  dinsdag 23 juni 2009 @ 11:16:23 #54
58834 Catbert
The evil HR Director.
pi_70283434
quote:
Op dinsdag 23 juni 2009 11:14 schreef slacker_nl het volgende:
Gelukkig is het je humble opinion.
Euh, ja?
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
  dinsdag 23 juni 2009 @ 13:14:46 #55
187069 slacker_nl
Sicko pur sang
pi_70286981
Ben er gewoon blij om.
In theory there is no difference between theory and practice. In practice there is.
  dinsdag 23 juni 2009 @ 15:08:33 #56
58834 Catbert
The evil HR Director.
pi_70290766
quote:
Op dinsdag 23 juni 2009 13:14 schreef slacker_nl het volgende:
Ben er gewoon blij om.
Dat fijn. Uiteindelijk is m'n ultieme doel hier mensen blij te maken
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
pi_70290886
quote:
Op dinsdag 23 juni 2009 10:47 schreef Catbert het volgende:

Je bewijst hier vooral mee hoe brak PHP is. Een fatsoenlijke VM zou die loop uberhaupt niet 10000 keer uitvoeren. Check dit:
[ code verwijderd ]

Test 1 took 673ms.
Test 2 took 943ms.
Test 1 took 645ms.
Test 2 took 931ms.
Test 1 took 616ms.
Test 2 took 610ms.
Test 1 took 619ms.
Test 2 took 633ms.

Je ziet na de 2e test2 run dat de VM 'ziet' wat test 2 doet en het voor je gaat optimaliseren. Ik hoop van harte dat PHP dergelijke zaken ook doet, anders is het te brak voor woorden.

BTW: als je testjes maakt, gebruik dan alsjeblieft meer iteraties dan 10000, dat zegt echt niks.
Hmm... als ik die code uitvoer kom ik toch tot iets andere getallen:

Test 1 took 4ms.
Test 2 took 3ms.
Test 1 took 3ms.
Test 2 took 0ms.
Test 1 took 0ms.
Test 2 took 0ms.
Test 1 took 0ms.
Test 2 took 0ms.

En dan maakt het niet uit of de loopjes in test1() en test2() tot 1.000.000.000 of tot 2.000.000.000 gaan.
  dinsdag 23 juni 2009 @ 15:47:13 #58
58834 Catbert
The evil HR Director.
pi_70292222
quote:
Op dinsdag 23 juni 2009 15:11 schreef Light het volgende:
Hmm... als ik die code uitvoer kom ik toch tot iets andere getallen:

Test 1 took 4ms.
Test 2 took 3ms.
Test 1 took 3ms.
Test 2 took 0ms.
Test 1 took 0ms.
Test 2 took 0ms.
Test 1 took 0ms.
Test 2 took 0ms.

En dan maakt het niet uit of de loopjes in test1() en test2() tot 1.000.000.000 of tot 2.000.000.000 gaan.
Je hebt zeker de server VM switch gebruikt? Dan gaat 'ie harder optimaliseren en komt tot de conclusie dat wat 'ie doet compleet zinloos is
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
pi_70292874
quote:
Op dinsdag 23 juni 2009 15:47 schreef Catbert het volgende:

[..]

Je hebt zeker de server VM switch gebruikt? Dan gaat 'ie harder optimaliseren en komt tot de conclusie dat wat 'ie doet compleet zinloos is
Nee, ik deed java zonder switches. Nu zie ik wel in de help staan dat de default de server VM is, omdat het een server-class machine is. Misschien moet ik het ook niet op een server draaien

Als ik java -client gebruik, krijg ik wel resultaten die meer in lijn liggen met wat je had gepost.
pi_70310199
ik heb een drop down menu , en nu wil ik dat hij blijft staan op de waarde die hij uit de database haalt bvb
1
2
3
4
5
6
7
8
9
10
<?php
        
Impact
</td><td>Impact:<select name="impact">
        <
option value=""> - </option>
        <
option value="1">Hoog</option>
        <
option value="2">Middel</option>
        <
option value="3">Laag</option>
        <
option value="4">Geen</option>
</
select>
?>

en nu wil ik dat hij checked invoert bij het getal :o hoe kan ik dit doen?

de impact haalt hij uit de database. :) maar ik wil de andere opties ook kunnen weergeven dus ik dacht een switch maar dan echo je de options 4 * 4 erin. :{ moet makkelijker te doen zijn :)
Redacted
pi_70310424
Gewoon 4 keer

if($impact==1) echo 'SELECTED';

in de options rammen ?
  woensdag 24 juni 2009 @ 00:25:56 #62
75592 GlowMouse
l'état, c'est moi
pi_70310462
for-loop dus.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_70310489
quote:
Op woensdag 24 juni 2009 00:15 schreef cablegunmaster het volgende:
ik heb een drop down menu , en nu wil ik dat hij blijft staan op de waarde die hij uit de database haalt bvb
[ code verwijderd ]

en nu wil ik dat hij checked invoert bij het getal hoe kan ik dit doen?
Volgens mij moet je selected hebben, niet checked.
quote:
de impact haalt hij uit de database. maar ik wil de andere opties ook kunnen weergeven dus ik dacht een switch maar dan echo je de options 4 * 4 erin. moet makkelijker te doen zijn
Maak een array met als keys de waardes (1, 2, 3, etc) en als values de bijbehorende teksten (laag, middel, hoog, etc). Dan haal je uit de database welke optie is geselecteerd (een id). Je gaat gewoon de array met opties af, en bij het weergeven check je iedere keer even of het id misschien toevallig gelijk is aan de key bij de optie die je gaat weergeven.
pi_70311066
quote:
Op woensdag 24 juni 2009 00:27 schreef Light het volgende:

[..]

Volgens mij moet je selected hebben, niet checked.
[..]

Maak een array met als keys de waardes (1, 2, 3, etc) en als values de bijbehorende teksten (laag, middel, hoog, etc). Dan haal je uit de database welke optie is geselecteerd (een id). Je gaat gewoon de array met opties af, en bij het weergeven check je iedere keer even of het id misschien toevallig gelijk is aan de key bij de optie die je gaat weergeven.
ook een goeie optie.. beter dan brunod die gebruikte ik eerst. maar dat is ook niet zo productief.

Nog een vraag

ik krijg veilige /' in de database maar hoe echo ik die er goed uit zonder de / iets met preg_replace() maar ik snap preg replace niet helemaal.

hoe los ik die / forward slash op?

[ Bericht 16% gewijzigd door cablegunmaster op 24-06-2009 09:18:31 ]
Redacted
pi_70349331
Ik kom er niet uit : ikl probeerde een functie om de tijd te berekenen tussen 2 datums alleen nu krijg ik de hele tijd het probleem dat de tijden tijdens 0:00 negatief worden. want 23:00 is natuurlijk groter.

Hoe kan ik simpel 2 velden met datetime van elkaar aftrekken?

1
2
3
4
<?php
SELECT TIMESTAMPDIFF
(MINUTE,LogOutTime,LogInTime) AS TimeLoggedIn
FROM LogTable
?>

is een functie die me niet hielp. hij gaf me negatieve waardes bij bepaalde tijden.

1
2
3
4
5
6
7
8
<?php
 $output 
strtotime($row['datum_tijd_open']);
            
$output2 strtotime($row['datum_tijd_gesloten']);
             
$temp $output $output2;
            echo 
" ".date('d',$temp).' Dagen ';
            echo 
date('m',$temp).' Maand ';
            echo 
date('Y',$temp).' Jaar verschil';
?>

Hieruit krijg ik een heel andere waarde 1976 jaar 17 dagen etc... maar de minuten en seconde kloppen wel.

[ Bericht 57% gewijzigd door cablegunmaster op 25-06-2009 09:41:03 ]
Redacted
  FOK!-Schrikkelbaas donderdag 25 juni 2009 @ 09:48:19 #67
1972 Swetsenegger
Egocentrische Narcist
pi_70349802
Als het als time in je mysql tabel staat kan je toch gewoon met datesub gaan werken
http://dev.mysql.com/doc/(...)-time-functions.html
pi_70349982
quote:
Op donderdag 25 juni 2009 09:30 schreef cablegunmaster het volgende:
Ik kom er niet uit : ikl probeerde een functie om de tijd te berekenen tussen 2 datums alleen nu krijg ik de hele tijd het probleem dat de tijden tijdens 0:00 negatief worden. want 23:00 is natuurlijk groter.

Hoe kan ik simpel 2 velden met datetime van elkaar aftrekken?
[ code verwijderd ]

is een functie die me niet hielp. hij gaf me negatieve waardes bij bepaalde tijden.
[ code verwijderd ]

Hieruit krijg ik een heel andere waarde 1976 jaar 17 dagen etc... maar de minuten en seconde kloppen wel.
Dat komt omdat je een verschil in tijd om gaat zetten naar een daadwerkelijke datum middels de date() functie. Dat kan niet.

Een timestamp van 0 staat gelijk aan 1 januari 1970 @ 00:00 en dus niet gelijk aan 1 januari 0 @ 00:00. Dat laatste is wat je zou willen als je wilt weten hoeveel jaren/maanden/weken/dagen/uren/minuten/seconden er tussen 2 datums zitten.

Je kunt het met de hand uitrekenen:

1
2
3
4
5
6
7
8
9
10
<?php
$output 
strtotime($row['datum_tijd_open']);
$output2 strtotime($row['datum_tijd_gesloten']);
$diff $output $output2;

$dagen $diff 86400;
$uren = ($diff 86400) / 3600;
$minuten = (($diff 86400) % 3600) / 60;
$seconden = ((($diff 86400) % 3600) % 60) / 1// die /1 kan natuurlijk weg, gaat om het idee
?>
pi_70354463
quote:
Op donderdag 25 juni 2009 09:54 schreef HuHu het volgende:

[..]

Dat komt omdat je een verschil in tijd om gaat zetten naar een daadwerkelijke datum middels de date() functie. Dat kan niet.

Een timestamp van 0 staat gelijk aan 1 januari 1970 @ 00:00 en dus niet gelijk aan 1 januari 0 @ 00:00. Dat laatste is wat je zou willen als je wilt weten hoeveel jaren/maanden/weken/dagen/uren/minuten/seconden er tussen 2 datums zitten.

Je kunt het met de hand uitrekenen:
[ code verwijderd ]
hoe pak je daar alleen de getallen voor de komma? en een groot probleem. Deze query ben ik 0,5 dag mee bezig geweest om te formuleren.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
    SELECT     leverancier
.naam AS naamincident.incidentid AS idincident.systeem_naam AS Systeemnaam,
            
datum_tijd_open AS 'Datumtijdmelding'incident.omschrijving AS 'omschrijving'
            
incident.workaround AS 'Workaround'component.leverancier AS Leveranciercomponent.merk AS merk
            
component.soort AS 'apparaattype',component.aanschaf_jaar AS 'aanschaf'
    
FROM incident
    INNER JOIN component ON incident
.systeem_naam component.systeem_naam
    INNER JOIN leverancier ON component
.leverancier leverancier.leverancier_id
    WHERE incident
.omschrijving
    IN 
(
        
SELECT incident.omschrijving
        FROM incident
        GROUP BY omschrijving
        HAVING 
(    
                
SELECT COUNT(incident.omschrijving
                
FROM incident 
                WHERE incident
.probleemid '0') >=2    
    
)
    
    
ORDER BY incident.omschrijving";
?>


alleen nu geeft hij na toevoegen van problemen ook incidenten terug die meer dan 2 rijen heeft
en probleem id 0 hoe los ik dit op?

[ Bericht 2% gewijzigd door cablegunmaster op 25-06-2009 12:28:57 ]
Redacted
pi_70358191
quote:
Op donderdag 25 juni 2009 09:54 schreef HuHu het volgende:

[..]

Dat komt omdat je een verschil in tijd om gaat zetten naar een daadwerkelijke datum middels de date() functie. Dat kan niet.

Een timestamp van 0 staat gelijk aan 1 januari 1970 @ 00:00 en dus niet gelijk aan 1 januari 0 @ 00:00. Dat laatste is wat je zou willen als je wilt weten hoeveel jaren/maanden/weken/dagen/uren/minuten/seconden er tussen 2 datums zitten.

Je kunt het met de hand uitrekenen:
[ code verwijderd ]
Aangepast en werkend

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
if(isset($row['datum_tijd_gesloten']) && $row['status'] == 'Gesloten')
{
$output  strtotime($row['datum_tijd_open']);
$output2 strtotime($row['datum_tijd_gesloten']);
}elseif(
$row['status'] != 'Gesloten'){
$output  strtotime($row['datum_tijd_open']);
$date date('Y-m-d H:i:s');
$output2 strtotime($date);
}
$diff $output2 $output;
$dagen floor($diff 86400);
$uren floor(($diff 86400) / 3600);
$minuten floor((($diff 86400) % 3600) / 60);
$seconden floor(((($diff 86400) % 3600) % 60)); // die /1 kan natuurlijk weg, gaat om het idee
    
if($row['status'] == 'Gesloten')
    {
    echo  
"Het probleem duurde ".$dagen." dagen ".$uren." uur ".$minuten." minuten ".$seconden." seconden";
    }else{
    echo 
"Het probleem duurt al ".$dagen." dagen ".$uren." uur ".$minuten." minuten ".$seconden." seconden";
    }
?>


Geen idee of er problemen nog doorkomen. maar floor() lijkt te doen wat hij moet doen
Redacted
pi_70358285
Je kunt de floor() gebruiken ja, of een cast naar int.
pi_70358976
Weet iemand of het mogelijk is om filter_var() aan de praat te krijgen is onder PHP 5.2.0? Of misschien een goed alternatief ervoor?

regular expressions zijn namelijk niet mijn sterkste kant ...
  donderdag 25 juni 2009 @ 15:41:41 #73
187069 slacker_nl
Sicko pur sang
pi_70361864
uhh, het werkt toch gewoon onder php 5.x: http://nl2.php.net/filter_var
In theory there is no difference between theory and practice. In practice there is.
pi_70363518
Pardon! Ik bedoel versies lager dan 5.2.0, "onder" is een beetje ongelukkig gekozen woord.
pi_70364384
van php,net.

I managed to get this to work with PHP 5.1.6 on CentOS 5 with minor difficulty.

1) Download the PECL filter package
2) Extract the tarball
3) phpize the directory
4) ./configure
5) make
6) filter-0.11.0/logical_filters.c:25:31: error: ext/pcre/php_pcre.h: No such file or directory
7) find / -name php_pcre.h
8) Make sure php-devel is installed
9) Edit filter-0.11.0/logical_filters.c and replace "ext/pcre/php_pcre.h" with the absolute path of php_pcre.h
10) make
11) make install
12) add "extension=filter.so" to php.ini
13) Restart Apache
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')