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.quote: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.
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.quote: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.
Moet ik PHP dan bijvoorbeeld elke 24 uur de hele database checken en elk account met een datum van 30 dagen geleden laten verwijderen?quote:
Het is soms echt te makkelijk, thanksquote:Op donderdag 12 mei 2011 21:49 schreef GlowMouse het volgende:
Precies, om de zoveel tijd met PHP een delete-query draaien.
Als je in de database datetime velden gebruikt, zou je eens kunnen kijken naar de mysql-functie datediff()quote: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
Het zijn inderdaad datetime fields, zal eens even kijken. Thanksquote: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?quote: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()
1 | SELECT `date_veld` FROM `tabel` WHERE DATEDIFF(`date_veld`, NOW()) < -30 |
Of van je voorganger waarmee je vanwege legacy-code maar moet zien te leven.quote: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 fieldsquote:Op vrijdag 13 mei 2011 10:39 schreef GlowMouse het volgende:
Als je varchar voor een datum gebruikt dan is het je eigen schuld.
Dankje! Ga er vanavond/dit weekend eens even mee klotenquote: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.
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']); ?> |
1 | "gebruikersnaam" |
je echo't maar 1x, zie de voorbeelden op http://nl3.php.net/mysql_fetch_arrayquote: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.
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.htmlquote: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?
En dat is beter voor indices.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 <
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) . "')"); } ?> |
Misschien erbij moeten vermelden dat ik 'printf' ook al heb geprobeerd.quote: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.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |