| Autor | Zpráva | ||
|---|---|---|---|
| DBoys Profil * |
#1 · Zasláno: 5. 8. 2010, 19:13:39
Ahoj,mam problem mám <a href="<?php zkouknuti = ("update clanky set zkouknuti = zkouknuti+1 where by id......"); ?>">Clanek1</a> a poté co kliknu na odkaz se sice přičte +1 ke zkouknuti v databazi ale ne přímo po kliknuti ale ihned jak navštívím například stránku /clanky.html kde je Clanek1,Clanek2 atp... Muzete pomoct? díky
|
||
| DBoys Profil * |
#2 · Zasláno: 5. 8. 2010, 19:17:00
ještě se zeptám na tohle ale přiřadil bych to spíše do ajaxu, poté co teda čtenář klikne na ten članek1 tak jak se přidá +1 ke zkouknutí tak aby se mohlo přičíst zase až za 12 hodin to +1 a né že na to pokliká 10 díky
|
||
| AM_ Profil |
#3 · Zasláno: 5. 8. 2010, 19:18:32 · Upravil/a: AM_
a) vkládej kód pomocí
b) takto PHP nefunguje. přečti si něco o principu PHP, bude se ti to hodit nejen pro tento případ. PHP funguje jako preprocesor, proto není možné do cíle odkazu vložit kus PHP kódu, který se při kliknutí na odkaz vykoná. Těžko se to vysvětluje pár slovy, přečti si, prosím, ten článek. Až ho budeš mít přečtený, řeší se to tak, že se udělá odkaz s určitým parametrem, třeba: <a href="stranka.php?pricti_zkouknuti=1"> a na stranka.php pokud je nastaven tento parametr se přičte zkouknutí. ale ve tvém případě to nějak nechápu, máš stránku s článkem, tak by se vždy při jeho zobrazení mělo přičíst zkouknutí, a ne až potom, co uživatel na něco klikne, ne? //ke tvému druhému dotazu: uložíš si někam (databáze?) pár IP - čas posledního zkouknutí. A vždy, než přičteš zkouknutí, ověříš, zda z daného IP nebylo v posledních 12ti hodinách už jednou zkouknuto. |
||
| DBoys Profil * |
#4 · Zasláno: 5. 8. 2010, 20:56:09
až klikne na ten članek (rozklikneho)
|
||
| AM_ Profil |
#5 · Zasláno: 5. 8. 2010, 21:27:01
no tak pak ten update dej do souboru s článkem, a ne do rozcestníku, že... a přečetl jsi si ten článek, co jsem poslal?
|
||
| DBoys Profil * |
#6 · Zasláno: 5. 8. 2010, 21:34:58
ano.. :)
|
||
| DBoys Profil * |
#7 · Zasláno: 6. 8. 2010, 09:52:32
No tak vyřešil jsem všechno až na to zkouknutí na čas prostě nevím jak udělat aby se ta ip v databázi smazala například po 60 minutách..
|
||
| Keeehi Profil |
#8 · Zasláno: 6. 8. 2010, 11:31:01 · Upravil/a: Keeehi
DBoys:
„ip v databázi smazala například po 60 minutách“ - takto ne Do databáze uložíš do dvou sloupců IP a ČAS Když někdo vleze na stránku s článkem, pokusíš se v databázi vyhledat jeho ip. Můžou nastat 3 možnosti. 1) IP nenajdeš - do databáze vložíš jeho ip a aktuální čas a zvětšíš počítadlo o 1 2) IP najdeš a ČAS je starší než jedna hodina - v databázi provedeš update času na aktuální na řádku, kde je jeho ip a zvětšíš počítadlo o 1 3) IP najdeš a ČAS není starší než hodina - neprovedeš nic :) |
||
| DBoys Profil * |
#9 · Zasláno: 6. 8. 2010, 11:40:50
A jak zapíši zda je čas starší nebo menší než 1 hodina? Pošlu tam aktuální čas a ten mám porovnat s aktuálním časem? Ale zase další den když bych to teda udělal takhle tak by například ten čas 21:00 byl následující den v 20:00 menší a nezapsalo by se to..?
|
||
| Keeehi Profil |
#10 · Zasláno: 6. 8. 2010, 11:46:58 · Upravil/a: Keeehi
DBoys:
Použij na typ sloupce TIMESTAMP. NOW()-ČAS<3600 - ještě to není hodina NOW()-ČAS>3600 - už je to přes hodinu |
||
| DBoys Profil * |
#11 · Zasláno: 6. 8. 2010, 21:58:56
a jak definuji funkci now()?
|
||
| Keeehi Profil |
#12 · Zasláno: 6. 8. 2010, 22:18:20
DBoys:
„a jak definuji funkci now()?“ Ta už v mysql je. Případně, pokud to budeš chtít testovat až v PHP, tak použiješ funkci time(); |
||
| DBoys Profil * |
#13 · Zasláno: 6. 8. 2010, 22:23:10
Fatal error: Call to undefined function now() - :-(
|
||
| Keeehi Profil |
#14 · Zasláno: 6. 8. 2010, 22:30:25
DBoys:
Ještě jednou si přečti [#12]. |
||
| DBoys Profil * |
#15 · Zasláno: 7. 8. 2010, 00:49:18
Vyřešeno všem díky :)
|
||
|
Časová prodleva: 16 let
|
|||
0