Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Licznik kliknięć - dla poszcególnego linku
boro11
post 4.05.2011, 16:20:31
Post #1





Grupa: Zarejestrowani
Postów: 283
Pomógł: 11
Dołączył: 9.07.2010
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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..
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Hpsi
post 4.05.2011, 16:22:20
Post #2





Grupa: Zarejestrowani
Postów: 483
Pomógł: 50
Dołączył: 15.03.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


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']


Ten post edytował Hpsi+ 4.05.2011, 16:23:45


--------------------
Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga
Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie
Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas

===
po prostu kocham ją :D haha
Go to the top of the page
+Quote Post
boro11
post 4.05.2011, 17:53:12
Post #3





Grupa: Zarejestrowani
Postów: 283
Pomógł: 11
Dołączył: 9.07.2010
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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"

Ten post edytował boro11 4.05.2011, 17:53:32
Go to the top of the page
+Quote Post
nospor
post 4.05.2011, 17:59:07
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
boro11
post 4.05.2011, 18:01:19
Post #5





Grupa: Zarejestrowani
Postów: 283
Pomógł: 11
Dołączył: 9.07.2010
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
mat-bi
post 4.05.2011, 18:13:38
Post #6





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 10:49