Diskuze: Zapisovanie času do DB a jeho úprava
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Toto co chces sa da podla urobit najlepsie cez CRON, kde si nastavis casovy interval spustania scriptu, ktory kontroluje vsetkym uzivatelom vyprsanie membershipu
webzdarma CRON nemá. Ale rád by som to robil cez kódy...No netuším prečo to nefunguje
Ahoj,
WHERE $time>'".$vypis1["memb_time"]."'"
co obsahují proměnné $time a $vypis1['memb_time']?
$time = time();
memb_time='$timem_check'
Aktuálny čas a dlžka membershipu zapisana v db uživateľa
Nikomu teda nenapadá prečo si ten kod ruší riadky v DB skor ako treba ? Možno zlý zápis času ?
Ve skutečnosti nemusíš vůbec nic takového řešit. Stačí si uvědomit, že v membership je ten, jehož čas ještě nevypršel. Stačil by ti tedy jen jeden sloupec memb_expiration, ve kterém bude uveden čas vypršení membership. Ověření, zda daný člověk je v membership provedeš jako
NOW() < memb_expiration
Například seznam lidí v membershipu pak získáš
SELECT * FROM users WHERE NOW() < memb_expiration
Defaultně bude hodnota na nule. Pokud budeš chtít někomu nastavit membership, tak jen spustíš dotaz
UPDATE users SET memb_expiration = DATEADD(second, 3600, GETDATE()) WHERE user_id = 123
Hádže m ito chybu FUNCTION xaxa.GETDATE does not exist
Promiň, ten kód jsem odněkud zkopíroval. Toto by mohlo fungovat.
UPDATE users SET memb_expiration = DATE_ADD(NOW(), INTERVAL 3600 SECOND) WHERE user_id = 123
Zobrazeno 9 zpráv z 9.