abonnement bol.com Unibet Coolblue
pi_96246814
quote:
0s.gif Op maandag 2 mei 2011 09:31 schreef Intrepidity het volgende:
Gebruik toch in godsnaam gewoon xdebug :') Af en toe wat gepruts om het te installeren maar ik beloof je dat je 10x sneller debugged dan met var_dump en dergelijke.
wtf is xdebug? Ik heb mijn code zo gemaakt dat als er iets mis gaat dat ik een exception krijg en met de stacktrace kan ik dan zien waar het fout gaat. Persoonlijk vind ik debug programma's ook brak. Zend heeft er ook 1 maar kan daar echt niet mee overweg aangezien ik mijn variabelen best diep heb zitten en dan ben ik met een print_r velen malen sneller.
pi_96249792
quote:
0s.gif Op maandag 2 mei 2011 13:43 schreef Pakspul het volgende:

[..]

wtf is xdebug? Ik heb mijn code zo gemaakt dat als er iets mis gaat dat ik een exception krijg en met de stacktrace kan ik dan zien waar het fout gaat. Persoonlijk vind ik debug programma's ook brak. Zend heeft er ook 1 maar kan daar echt niet mee overweg aangezien ik mijn variabelen best diep heb zitten en dan ben ik met een print_r velen malen sneller.
xdebug is een php-plugin die ook ondersteund wordt door de meeste IDE's waarbij je bij een exception of error meteen naar de betreffende regel springt in je IDE en waarna je alle variabelen en de loop van je programma kunt inspecteren. M.a.w. volledige debugging zoals je dat o.a. ook in visual studio .net hebt.
  zondag 8 mei 2011 @ 13:59:31 #128
113667 Keiichi
Konnichiwa!
pi_96503956
Ik ben op zoek naar een makkelijk middel op MySQL tabellen om te zetten in PHP classes zodat ik hier vrij makkelijk CRUD operaties mee kan doen, zonder dat ik een mysql query hoef in te voeren.

Ik heb wel het eea gevonden dat het van PHP classes naar MySQL tabellen gaat (Vrijwel alle MVC frameworks).

Rede waarom ik dit wil is dat mijn database gewoon als uitgangspunt genomen moet worden, die heb ik immers al ontworpen met alle bijhorende relaties tussen tabellen. Naast parent-child relaties, heb ik ook een relatie die bedoelt is voor inheritance. (Ik heb eigenlijk ook geen MVC framework gezien die dit als zodanig ondersteund)

Wie weet een toolkit die kan doen wat ik wil?
pi_96521269
Doctrine2 kan proxyklassen genereren uit een bestaande database, maar ik vermoed dat dit enigszins overkill is voor je.
  maandag 9 mei 2011 @ 07:49:53 #130
113667 Keiichi
Konnichiwa!
pi_96534852
Ik zie niet zo snel waar de overkill zou zitten, ik heb vanavond iets om me even goed in te verdiepen ;)
pi_96715743
Ik heb een vraagje betreft het automatisch wissen van data uit m'n tabel.
Ik run een server waarbij ik graag wil dat account's na bijvoorbeeld 30 dagen inactiviteit verwijderd worden. Nu weet ik dat je met behulp van een cronjob iets kan uitvoeren op een bepaald moment, tenminste voor zover ik heb gelezen. Maar in hoeverre kun je doormiddel van het checken van een datum in de tabel kijken of die 30 dagen niet actief is geweest.

Op dit moment bevat m'n tabel al een kolom waar elke keer de datum word aangepast als die inlogt.

Iemand die me kan helpen? :@
  donderdag 12 mei 2011 @ 20:54:29 #132
75592 GlowMouse
l'état, c'est moi
pi_96715790
Dat gaat met een WHERE in je query.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_96718354
quote:
0s.gif Op donderdag 12 mei 2011 20:54 schreef GlowMouse het volgende:
Dat gaat met een WHERE in je query.
Moet ik PHP dan bijvoorbeeld elke 24 uur de hele database checken en elk account met een datum van 30 dagen geleden laten verwijderen?

Dus ff letterlijk getypt: elke 24 > check DB > datum - 30 = DELETE

Ben nog geen prof in php/sql :)
  donderdag 12 mei 2011 @ 21:49:41 #134
75592 GlowMouse
l'état, c'est moi
pi_96721385
Precies, om de zoveel tijd met PHP een delete-query draaien.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_96724285
quote:
0s.gif Op donderdag 12 mei 2011 21:49 schreef GlowMouse het volgende:
Precies, om de zoveel tijd met PHP een delete-query draaien.
Het is soms echt te makkelijk, thanks :)
Ga even uitzoeken hoe ik een datum kan checken en er dagen vanaf halen ;)
pi_96727930
quote:
0s.gif Op donderdag 12 mei 2011 22:17 schreef dirkjo het volgende:

[..]

Het is soms echt te makkelijk, thanks :)
Ga even uitzoeken hoe ik een datum kan checken en er dagen vanaf halen ;)
Als je in de database datetime velden gebruikt, zou je eens kunnen kijken naar de mysql-functie datediff()
pi_96729465
quote:
0s.gif Op donderdag 12 mei 2011 22:54 schreef Light het volgende:

[..]

Als je in de database datetime velden gebruikt, zou je eens kunnen kijken naar de mysql-functie datediff()
Het zijn inderdaad datetime fields, zal eens even kijken. Thanks :)
pi_96729970
quote:
0s.gif Op donderdag 12 mei 2011 22:54 schreef Light het volgende:

[..]

Als je in de database datetime velden gebruikt, zou je eens kunnen kijken naar de mysql-functie datediff()
Even snel lopen kijken naar de datedriff() functie, maar als ik er zo naar kijk dan zou het ook moeten kunnen wanneer je gewoon gebruik maakt van de algemene varchar velden?
  vrijdag 13 mei 2011 @ 09:40:13 #139
305897 remi1986
This MF is infected by madness
pi_96739034
Snel testje gedaan.

Als je dit doet

1SELECT `date_veld` FROM `tabel` WHERE DATEDIFF(`date_veld`, NOW()) < -30 

Krijg je data die ouder zijn dan 30 dagen. Wel verwarrend met < -30.

Dit kan je natuurlijk gebruiken met een DELETE WHERE query.
  vrijdag 13 mei 2011 @ 10:39:45 #140
75592 GlowMouse
l'état, c'est moi
pi_96740921
Als je varchar voor een datum gebruikt dan is het je eigen schuld.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_96742313
quote:
0s.gif Op vrijdag 13 mei 2011 10:39 schreef GlowMouse het volgende:
Als je varchar voor een datum gebruikt dan is het je eigen schuld.
Of van je voorganger waarmee je vanwege legacy-code maar moet zien te leven.
pi_96753867
quote:
0s.gif Op vrijdag 13 mei 2011 10:39 schreef GlowMouse het volgende:
Als je varchar voor een datum gebruikt dan is het je eigen schuld.
Doe ik niet, zijn gewoon datetime fields ;)
pi_96753915
quote:
0s.gif Op vrijdag 13 mei 2011 09:40 schreef remi1986 het volgende:
Snel testje gedaan.

Als je dit doet

[ code verwijderd ]

Krijg je data die ouder zijn dan 30 dagen. Wel verwarrend met < -30.

Dit kan je natuurlijk gebruiken met een DELETE WHERE query.
Dankje! Ga er vanavond/dit weekend eens even mee kloten :)
pi_96771092
Ik kom er niet uit, zal waarschijnlijk wel komen door m'n lage kennis van sql :@. Ik wou kijken wat het script van remi nou precies als result gaf dus flatste het volgende in elkaar:
1
2
3
4
5
<?php
    $result 
mysql_query("SELECT * FROM `ftpuser` WHERE DATEDIFF(`accessed`, NOW()) < -30");
    
$row mysql_fetch_array($result);
    echo (
$row['userid']);
?>

Dit geeft mij alleen het volgende als resultaat:
1 "gebruikersnaam"
(waarbij gebruikersnaam een waarde is die in 'userid' staat)

Wanneer ik dan bijvoorbeeld ga spelen met de waarde < -30 blijf ik constant dezelfde gebruikersnaam houden, terwijl ik zeer zeker weet dat er meerdere moeten verschijnen.

Iemand die mij uit de knoei kan helpen?

[ Bericht 2% gewijzigd door dirkjo op 13-05-2011 22:15:21 ]
pi_96771223
Kan iemand mij het volgende uitleggen, ik heb een tabel met 4 velden (expire_date [timestamp], user_id [int], action [varchar=50], value [text]) en wil deze tabel gebruiken om acties voor een bepaalde tijd in een database in te voeren. Echter werkt de volgende insert niet zoals verwacht

insert into `actions` (`expiredate`, `userID`, `action`, `value`)
VALUES (CUR_TIJD + $time,
$userID,
$action,
$value);

waar CUR_TIJD de huidige tijd (time()) + $time in seconden is. Wat doe ik fout?
Just say hi!
pi_96771603
$dirkjo: gebruik eens print_r :P ipv vardump :P

en DATEDIFF(`accessed`, NOW()) < -30 lijkt me leuker om dit te hebben

`accessed` >= DATE_SUB(CURDATE(),INTERVAL 30 DAYS)

zo pak je alles wat binnen 30 dagen valt ;) en wil je anders om dan doe je < :P
Just say hi!
  vrijdag 13 mei 2011 @ 22:25:30 #147
75592 GlowMouse
l'état, c'est moi
pi_96772237
quote:
0s.gif Op vrijdag 13 mei 2011 22:07 schreef dirkjo het volgende:
Wanneer ik dan bijvoorbeeld ga spelen met de waarde < -30 blijf ik constant dezelfde gebruikersnaam houden, terwijl ik zeer zeker weet dat er meerdere moeten verschijnen.
je echo't maar 1x, zie de voorbeelden op http://nl3.php.net/mysql_fetch_array
quote:
0s.gif Op vrijdag 13 mei 2011 22:09 schreef Chandler het volgende:
Kan iemand mij het volgende uitleggen, ik heb een tabel met 4 velden (expire_date [timestamp], user_id [int], action [varchar=50], value [text]) en wil deze tabel gebruiken om acties voor een bepaalde tijd in een database in te voeren. Echter werkt de volgende insert niet zoals verwacht

insert into `actions` (`expiredate`, `userID`, `action`, `value`)
VALUES (CUR_TIJD + $time,
$userID,
$action,
$value);

waar CUR_TIJD de huidige tijd (time()) + $time in seconden is. Wat doe ik fout?
Een timestamp veld vul je niet met een unix timestamp, en je wilt waarschijnlijk datetime gebruiken, zie http://dev.mysql.com/doc/refman/5.0/en/datetime.html
quote:
en DATEDIFF(`accessed`, NOW()) < -30 lijkt me leuker om dit te hebben

`accessed` >= DATE_SUB(CURDATE(),INTERVAL 30 DAYS)

zo pak je alles wat binnen 30 dagen valt ;) en wil je anders om dan doe je < :P
En dat is beter voor indices.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_96772523
Wist niet dat het beter was ;) maar leek mij meer logisch en begrijpelijk ;)

Ja ik wil het liefst werken met time() van php en timestamp maar zie dat datetime inderdaad een betere oplossing is, i'll try!
Just say hi!
pi_96773495
Raar :{ maar dit werkt dus niet

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
function()
{
        
$extime = (is_numeric($extime) && 
                   
$extime 0) ? time() + $extime 
                                
time() + 60;
        
        
$query $this->db->query("INSERT INTO `actions` (`expiredate`, `user_id`, `action`, `value`, `validate`)
                                   VALUES ('" 
date("Y-m-d H:i:s"$extime) . "',
                                           '" 
$this->db->escape($userID) . "',
                                           '" 
$this->db->escape($action) . "',
                                           '" 
$this->db->escape($value) . "',
                                           '" 
$this->db->escape($validate) . "')");
}
?>
waarbij $extime 60 is, dit zou dus 1 minuut extra moeten zijn maar dat is het dus niet?! en gewoon time() gaat ook niet werken :P wat doe ik nou fout? wil gewoon een datum in de toekomst in mijn tabel invoeren ;)
Just say hi!
pi_96773783
quote:
0s.gif Op vrijdag 13 mei 2011 22:25 schreef GlowMouse het volgende:

[..]

je echo't maar 1x, zie de voorbeelden op http://nl3.php.net/mysql_fetch_array

[..]

Een timestamp veld vul je niet met een unix timestamp, en je wilt waarschijnlijk datetime gebruiken, zie http://dev.mysql.com/doc/refman/5.0/en/datetime.html

[..]

En dat is beter voor indices.
Misschien erbij moeten vermelden dat ik 'printf' ook al heb geprobeerd.
abonnement bol.com Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')