Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Przyznanie punktów
Forum PHP.pl > Forum > Przedszkole
krystian23000
Mam na swojej stronie zakładke quiz..
Zrobiłem juz aby po kliknięciu ''sprawdź'' sprawdzało czy dobrze ktos zrobił
ale chciałem tez aby za dobrą odpowiedz user dostawałem punkty..
Zrobiłem w tabeli pole ''punkty''
i wykonałem kod:
  1. if('1456' == $odpowiedz1) {
  2. $punkty_zdobyte= 30;
  3. echo"<big><big><font color='white'>Dobrze !Otrzymałeś ".$punkty_zdobyte." punktów !</font></big></big> ";
  4. mysql_query("UPDATE uzytkownicy SET punkty = punkty + '".$punkty_zdobyte."' WHERE $user = '".$user['nick']."' '");
  5. }


Ale punkty w tabeli nawet bo dobrym zaznaczeniu sie nie zmieniają .. Cały czas jest ''0''
Gdzie robie błąd?
nospor
Temat: Jak poprawnie zada pytanie
Zapoznaj się, zastosuj, wróć z pytaniem jeśli nadal nie będziesz wiedział co masz źle.
fotexxx
błąd jest zasadniczy ...wg mnie przed dodaniem punktow powinienes z bazy wyciagnąć do zmiennej aktualna liczbe punktów która juz posiada. nastepnie je zsumować i dopiero zrobic update w bazie

  1. $posiadane_punkty = mysql_query("SELECT punkty FROM uzytkownicy WHERE $user = '".$user['nick']."' '");
  2. $aktualny_stan = $posiadane_punkty + $punkty_zdobyte;
  3. mysql_query("UPDATE uzytkownicy SET punkty = '".$aktualny_stan."' WHERE $user = '".$user['nick']."' '");



to tak po krotce...moge byc błedy ale zalożenie powinno byc ok

jeszcze jedno tworzac pole punkty w tym przypadku ustaw dla niego jako domyslna wartość 0 ni i pamietaj aby pole mialo typ INT
nospor
Cytat
ale zalożenie powinno byc ok
założenie jest bez sensu. Koncepcyjnie tak jak robi autor jest ok. Sek w tym, że autor ma kupę błędów w zapytaniu (które ty notabene powielasz), a w ich analizie ma pomóc temat, do którego go odesłałem
Hpsi
mały offtopic przepraszam za to: ale zapytanie autora chyba było najweselszą rzeczą która przeczytałem wink.gif tak jak nospor powiedział kupe błedów.
przydaloby sie echo mysql_error() wink.gif
krystian23000
Mam tak:
  1. if('1456' == $odpowiedz1) {
  2. $punkty_zdobyte= 30;
  3.  
  4. mysql_query("UPDATE uzytkownicy SET punkty = punkty + '".$punkty_zdobyte."' WHERE $user = '".$user['nick']."' '");
  5.  
  6. $result = mysql_query($query);
  7.  
  8. echo $query.'<br/>';
  9.  


A błąd jaki wyskakuje to : Query was empty czyli Zapytanie było puste..
Hpsi
wtf krystian przeczytaj sobie twój kod. Bo on aktualnie jest poniżej poziomu przedszkola.
echo $query ? $result = mysq_query($query) bez definicji zmiennej $query ?
nospor
Proste polecenie napisane po polsku.... czemu zawsze macie z tym problem?

  1. $sql = "UPDATE uzytkownicy SET punkty = punkty + '".$punkty_zdobyte."' WHERE $user = '".$user['nick']."' '";
  2. echo $sql.'<br/>';
Hpsi
@nospor: widze ze straciłeś cierpliowść do próby nakierunkowania użytkownika, nie dziwie się. Ale prawde prawisz jak zwykle... dlaczego ludzie ktorzy nie umieja czytac po polsku biora sie za programowanie? a co dopiero bedzie jak sie odeśle do ang manuala ...

Edit: przydałby się bbcode MIND nosporze biggrin.gif
ixpack
  1. $sql = "UPDATE uzytkownicy SET punkty = punkty + '".$punkty_zdobyte."' WHERE $user = '".$user['nick']."' ";
  2. echo $sql.'<br/>';


Zapomnieliście o: '
nospor
@ixpack ja specjalnie to zostawiłem by autor zobaczył jaki ma błąd
Poza tym tak się mądrzysz a sam zostawiłeś największego bobola tongue.gif
ixpack
@nospor ? Nie widzę.
nospor
Albo się przyjrzyj dokładnie
Albo poczekaj aż autor napisze jakie ma błędy tongue.gif Poto mu właśnie napisałem formułkę do sprawdzania błędów, by się nauczył. A ty próbowałeś to zniszczyć naprawiając jeden błąd..... co z ciebie za człowiek?? wink.gif
Hpsi
@ixpack: NOOB!! ->To sie przyjrzyj porzadnie ^^ coś co sie rzuca w oczy na dzień dobry ^^
ixpack
ok już wiem... wink.gif user'y jedne... (To ma 2-gie dno... =])
krystian23000

Unknown column 'Array' in 'where clause' arrowheadsmiley.png
nospor
Nom, komunikat prawidłowy. Znaczy prawidłowy do błędy jaki masz smile.gif
No a jak wygląda zapytanie, przyjrzałeś mu się? Nic ci się nie rzuca w oczy?
echo $sql - to ci zwraca zapytanie jak wygląda.
krystian23000
Coś poprawiłem..
Komunikat juz sie nie wyswietala
punkty dodaje w tabeli
ale po odpowiedzeniu jeszcze na stronie wyswietla to zapytanie UPDATE uzytkownicy SET punkty.........
nospor
No bo masz: echo $sql - to wyswietla zapytanie smile.gif
Skoro już błąd poprawiłeś to możesz to usunąć.
Hpsi
Bo masz echo $sql?tongue.gif kolego znasz podstawy php?
krystian23000
Mój błąd..
Dziekuje closedeyes.gif
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.