Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]punkty
krystian23000
post
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 17.06.2011

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


Witam ! (IMG:style_emoticons/default/baaasmiley.gif)

Od paru tygodni robię stronkę www;)
Poradziłem sobie z rejestracjami , logowaniem itd...
Zrobiłem na stronie takie zakładki jak ''zadania'' i ''ankiety''
Chciałbym aby po np udzieleniu dobrej odp przez uzytkownika dodawalo mu 20pkt....
I np tez za zalogowanie sie raz na 24h 10pkt..
Chyba wiecie o co mi chodzi..
Męcze sie z tym ..bawiłem sie tym alphauserpoints ale nie wychodzi (IMG:style_emoticons/default/ohno-smiley.gif)
Można pisac na gg:8511388
Licze na pomoc!
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
kaktus283
post
Post #2





Grupa: Zarejestrowani
Postów: 47
Pomógł: 2
Dołączył: 26.03.2010

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


Nie wiem w czym problem, chcesz po prostu dodawać użytkownikom punkty (?).
W takim razie stwórz sobie w bazie danych (user) pole `points` i zapisuj wszystkie punkty użytkownika, również możesz operować tam na nich czyli jeżeli ktoś się zaloguje no to doda mu te 10 punktów do aktualnej liczby ...

Jeżeli nie chodziło Ci o to, to rozwiń swoją wypowiedź : )
Go to the top of the page
+Quote Post
Croos22
post
Post #3





Grupa: Zarejestrowani
Postów: 316
Pomógł: 4
Dołączył: 22.03.2010

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


A co w tym trudnego?

Przy poprawnym wypełnieniu zadań zrób update i dodaj punkty, a co do rozdawania punktów co 24h możesz sprawdzać przy logowaniu instrukcją warunkową czy minął już czas i też robisz update.

http://webmade.org/kursy-online/aktualizac...-kurs-mysql.php
http://pl.wikibooks.org/wiki/PHP/Instrukcja_if

Ten post edytował Croos22 17.06.2011, 19:27:32
Go to the top of the page
+Quote Post
krystian23000
post
Post #4





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 17.06.2011

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


Chodzi o to zeby automatycznie odrazu dodawało punkty np za logowanie...
i w zakladce profil bylo napisane np:


,,
Zalogowany jako xxxxx
Punktów : xxx ''
i zeby samo sie zmieniało (IMG:style_emoticons/default/wink.gif)


Ps.Jestem niekumatym człowiekiem:P

Ten post edytował krystian23000 17.06.2011, 19:29:48
Go to the top of the page
+Quote Post
Hpsi
post
Post #5





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

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


Cytat
Ps.Jestem niekumatym człowiekiem:P

To przestań programować.
Nie dostaniesz (Raczej) gotowego rozwiązania.


W tabeli użytkownicy tworzysz sobie dodatkową kolumnę np nazwa "logowanie", zapiszujesz w niej czas logowania
kolumne tą edytujesz tylko i wylacznie na czas aktualny w przypadku gdy czas który tam podasz rozni się od aktualnego o więcej niż 24h, w tym momencie także dodajesz użytkownikowi punkt.

W sumie powtorzlem tylko i wylacznie to co poprzednicy napisali, ale mam nadzieje , że to Tobie rozjasni co i jak

Ten post edytował Hpsi+ 17.06.2011, 19:37:41
Go to the top of the page
+Quote Post
krystian23000
post
Post #6





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 17.06.2011

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


Ok...
Wiecie jak zrobic aby w profilu bylo np:
Zalogowany jako xxxxx
Punktów : xxxx
I zeby sie zmieniały(punkty) zgodnie z bazą ..automatycznie
Go to the top of the page
+Quote Post
Hpsi
post
Post #7





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

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


http://pl2.php.net/manual/pl/book.session.php ?
Go to the top of the page
+Quote Post
krystian23000
post
Post #8





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 17.06.2011

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


Tą strone juz dzisiaj 10 razy widziałem.. (IMG:style_emoticons/default/ohno-smiley.gif)
Go to the top of the page
+Quote Post
markonix
post
Post #9





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Po co się zabierasz do czegoś o czym nie masz bladego pojęcia?
W ogóle znasz jakieś podstawy PHP i baz danych (mysql)?
Go to the top of the page
+Quote Post
krystian23000
post
Post #10





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 17.06.2011

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


omg tak....
ale na tym sie zaciąłem..
Kazdy jakos zaczyna..
Nie mów ze byles idealny od początku w tym..
Go to the top of the page
+Quote Post
markonix
post
Post #11





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Konto założyłem w 2008, a dopiero rok po tym postanowiłem dzielić się moimi "problemami" na forum więc się do mnie nie przyrównuj.

Jak masz jakieś pojęcie to pokaż co już napisałeś w związku z tymi punktami.

Ten post edytował markonix 17.06.2011, 20:36:01
Go to the top of the page
+Quote Post
Hpsi
post
Post #12





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

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


nie chodzi o to, dajemy gotowe informacje, trzeba przeczytac i pomyslec chiwle, tyle
Go to the top of the page
+Quote Post
pedro84
post
Post #13





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Zwykłe pole integer w bazie? Odpowiem: nie, nie znasz podstaw...
Go to the top of the page
+Quote Post
krystian23000
post
Post #14





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 17.06.2011

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


Zrobiłem kody i sprawdźcie co źle :
a ) zrobiłem ankiete i za odp napisałem
$punkty_zdobyte = 60 punktów
Kod
mysql_query("UPDATE uzytkownicy SET punkty = punkty +$punkty_zdobyte  WHERE id_user = '$id'")

B ) za logowanie:
Kod
$time = time () //czas bierzący
if (ostanie_logowanie > $time ) {mysql_query("UPDATE uzytkownicy SET ostatnie_logowanie = ".$time." , punkty = punkty + 20 WHERE id_user = '$id'")



c) i zeby wyswietlalo info o uzytkowniku po zalogowaniu to:

Kod
$wynik_pokaz = mysql_query("SELECT * FROM uzytkownicy WHERE id_user='$id'");

echo "Zalogowany jako". $wynik_pokaz['nick'];
echo " Punktów". $wynik_pokaz['punkty'];



W tych trzech przypadkach nie dodaje mi pkt ani nie wyswietla info u userze po zalogowaniu...do bazy..Nie wiem czy dobrze je w ogóle wstawiam..moze wy to ogarnicie.
Prosze o pomoc

Ten post edytował krystian23000 20.06.2011, 19:08:43
Go to the top of the page
+Quote Post
kamilos809
post
Post #15





Grupa: Zarejestrowani
Postów: 165
Pomógł: 3
Dołączył: 2.04.2010

Ostrzeżenie: (10%)
X----


oj kolego... takie podstawy to się wiedziało po chwili...
  1. $zapytanie="SELECT * FROM uzytkownicy WHERE id_user='$id'";
  2. $wynik=mysql_query($zapytanie);
  3. while($r = mysql_fetch_array($wynik))
  4. {
  5. echo("Zalogowany jako ".$r['nick']."");
  6. echo(" Punktów ".$r['punkty']."");
  7. }
  8.  

Jak się nie mylę naniesione poprawki powinny pomóc.
Go to the top of the page
+Quote Post
CuteOne
post
Post #16





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


kamilos troszkę błędnie ponieważ pobiera tylko jeden wiersz (warunek id_user = '$id' o tym mówi) tak więc:

  1.  
  2. //o sesjach już chyba masz jakieś pojęcie skoro napisałeś logowanie
  3. $id = $_SESSION['user_id'];
  4.  
  5. $query = mysql_query("SELECT * FROM uzytkownicy WHERE id_user='$id'") or die(mysql_error());
  6. $row = mysql_fetch_array($query);
  7.  
  8. echo 'Zalogowano jako '.$row['nick'];


Ten post edytował CuteOne 21.06.2011, 00:33:35
Go to the top of the page
+Quote Post
krystian23000
post
Post #17





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 17.06.2011

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


Ok już wszystko dopełniłem ..pięknie gra - dostaje punkty za logowanie i zadania..
Ale najgorsze ze punkty przydziela za kazde logowanie a ja chciałbym raz na 24h..tak samo z zadaniem.
Próbowałem duzo rzeczy ale nie wychodzi..

Ten post edytował krystian23000 23.06.2011, 09:25:18
Go to the top of the page
+Quote Post
artekp999
post
Post #18





Grupa: Zarejestrowani
Postów: 118
Pomógł: 2
Dołączył: 25.02.2011

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


zapisuj do bazy aktualna date podczas logowania i pozniej zrob warunek porownujac date z bazy z aktualna jesli jest inna to wtedy zapisuj pkt


Go to the top of the page
+Quote Post
krystian23000
post
Post #19





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 17.06.2011

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


Mam coś takiego do logowania:

  1. if ( $row['last_login'] < (time() - 3600*24) )
  2. {
  3. $punkty = $row['punkty'] + 10;
  4. mysql_query("UPDATE uzytkownicy SET punkty = '$punkty' WHERE id = '$_SESSION['id']' LIMIT 1");
  5. }


A to do zadan:
  1. $qr_zadanie = mysql_fetch_array(mysql_query("SELECT * FROM zadania WHERE id = '$_SESSION['id']' ORDER BY time DESC LIMIT 1"));
  2. if($qr_zadanie['time'] < (time()-3600*24))
  3. {
  4. //Następne zadanie
  5. } else {
  6. //Nie minęły jeszcze 24h!
  7. }



Ale nie pyka
Go to the top of the page
+Quote Post
Ulysess
post
Post #20





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

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


...

a debugować w taki sposób:
  1. echo "UPDATE uzytkownicy SET punkty = '$punkty' WHERE id = '$_SESSION['id']' LIMIT 1";

(IMG:style_emoticons/default/questionmark.gif) nie sądzę.. więcej czasu zajmuje Tobie tutaj napisanie i czekanie na odpowiedzi niż sprawdzenie takich podstaw......
Poprawnie 1 zapytanie powinno wyglądać tak:
  1. "UPDATE uzytkownicy SET punkty = ".$punkty." WHERE id = ".$_SESSION['id']." LIMIT 1"

oczywiście można jeszcze łatwiej napisać:
  1. echo "UPDATE `uzytkownicy` SET `punkty` = `punkty`+10 WHERE `id` = ".$_SESSION['id']." LIMIT 1";


w zadaniu ten sam problem.. używasz na początku " to i w środku używaj..
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.12.2025 - 19:06