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
+
0
-

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
+
0
-

Okej:

  1. predpokladam, ze pouzivas dibi a MySQL
  2. 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
");