Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Licznik kliknięć - dla poszcególnego linku
Forum PHP.pl > Forum > Przedszkole
boro11
Witam!
Trochę poszperałem po forum i odnalazłem skrypcik który zlicza i dodaje do bazy ile razy dany link został kliknięty. Taki skrypt nadaje się świetnie na stworzenie mini systemu oceniania plus/minus
Już sobie to dostosowałem i wygląda to tak:

  1. if($_GET['countplus'] == 'true')
  2. mysql_query('UPDATE `kawaly` SET `plus`=`plus`+1');
  3. if($_GET['countminus'] == 'true')
  4. mysql_query('UPDATE `kawaly` SET `plus`=`plus`-1');


A sam link:
  1. <a href="?countplus=true">Lubię to! |</a><a href="?countminus=true"> Słabe!</a>


Wszystko działa, ale zmiany narzucają się od razu dla wszystkich rekordów z bazy danych w danej tabeli z ja bym chciał żeby robiły się tylko dla jednego danego rekordu(kawału) którego dotyczy ocena. Czytałem o funkcji row bo wydaje mi się, że dzięki niej da się to zrobić ale niestety nie doszedłem do żadnego konkretnego wniosku..
Hpsi
dodaj warunek where id=X;

czyli np w linku
<a href="?countplus=true&id=6">Lubię to! |</a><a href="?countminus=true&id=6"> Słabe!</a>

Wtedy do zapytania dodajesz WHERE `id`='.$_GET['id']
boro11
Coś takiego stworzyłem ale niestety nie działa.

Próbowałem różnymi kombinacjami m. in.:

  1. mysql_query('UPDATE `kawaly` WHERE `id`='.$_GET['id']' SET `plus`=`plus`+1');

  1. mysql_query('UPDATE `kawaly` SET `plus`=`plus`+1 WHERE `id`='.$_GET['id']'');


Próbowałem odwracać to na różne sposoby, kombinować z ' i ` ale ciągle mi wywala error "Parse error"
nospor
mysql_query('UPDATE `kawaly` SET `plus`=`plus`+1 WHERE `id`='.$_GET['id']'');
Po grzyba na końcu dajesz jeszcze '' ? Wiesz w ogóle co robisz czy strzelasz na chybił trafił?

http://pl.php.net/manual/pl/language.operators.string.php
boro11
Już sobie poradziłem i wygląda to ostatecznie tak:

  1. mysql_query('UPDATE `kawaly` SET `plus`=`plus`+1 WHERE `id`='.mysql_escape_string($_GET['id']).'');


Nie wiem czy to zapis poprawny ale działa smile.gif
mat-bi
nie używamy obecnie mysql_escape_string, "this function has been deprecated". Masz teraz mysql_real_escape_string

Jeszcze jedno - nospor ci coś podał, a ty nic.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.