Statistika a přičítání v databázi
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Mirda
- Člen | 35
Dobrý den,
dělám si soukromou statistiku kliků na banery a řeším problém
s přičítáním v databázi. V modelu mám fci update, kde chci ve sloupci
hit přičíst jednoduše 1. Vůbec se mi nedaří.
V samotné fci mám nejdříve select, kde si vyberu hodnotu sloupce „hit“,
který mám v proměnné $hit. K této proměnné v další fázi přičtu
1 a dosadím jí do update. Přičítání se ovšem nedaří s hláškou že
nelze konvertovat na int. V DB mám hit jako int.
Předem všem děkuji za pomoc.
- westrem
- Člen | 398
Okej:
- predpokladam, ze pouzivas dibi a MySQL
- teda len pre poriadok, by toto malo ist do dibi fora
Teraz k problemu, odhliadnuc od toho, ze atomicita ukonu je v tvojom rieseni nulova, tak sa to riesi jednym dotazom do DB a to nasledovne:
dibi::query("
INSERT INTO
[banner_hits] ([id],[hit])
VALUES
($id,1)
ON DUPLICATE KEY UPDATE
[hit]=[hit]+1
");