Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Skrypt który pobiera dane z tabeli i odejmuje je
-Wuwuzela-
post
Post #1





Goście







witam

mam problem z moim skryptem - kumpel pomógł mi go napisać, lecz teraz zostałem sam ze skryptem i nie wiem za bardzo jak sobie poradzić z tym.
Do rzeczy - skrypt łączy się z bazą danych, pobiera informacje z kolumny "dukaty" i "fortyfikacje" dla konkretnego usera.
Następnie po kliknięciu buttonu "odejmuj", skrypt odejmuje wartość -3 w kolumnie dukaty i dopisuje +1 w kolumnie fortyfikacje.
moja tabela users wygląda tak :
Cytat
user_id user_login user_haslo gg dukaty fortyfikacje



Lecz skrypt nie działa. Pierwsze - wyrzuca na przywitaniu:
Cytat
Witaj user_testowy!
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/linux2/domains/kozacy.org/public_html/karaiby/kupuj.php on line 17

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/linux2/domains/kozacy.org/public_html/karaiby/kupuj.php on line 18

[Na dole button "Odejmij"]


Po kliknięciu buttonu, adres zmienia się na kupuj.php?odejmuj=1, wyrzuca na stronie "Odejmowanie wykonane", lecz w bazie danych nic się nie zmienia.

Oto mój skrypt:
  1. <?php
  2. ?>
  3. Witaj
  4. <?php
  5. print $_SESSION['user_login'];
  6. ?>!
  7. <?php
  8. $user_login = $_SESSION['user_login'];
  9. $link = mysql_connect("localhost", "xxx", "xxx");
  10. $baza = mysql_select_db("users" ,$link);
  11.  
  12.  
  13. $zapytanie = 'SELECT dukaty fortyfikacje FROM users WHERE user_login=%s';
  14. sprintf($zapytanie,$user_login);
  15. $wynik = mysql_query($zapytanie);
  16. $dukaty = mysql_result($wynik,0,0);
  17. $fortyfikacje = mysql_result($wynik,1,0);
  18.  
  19. $odejmuj = $_GET['odejmuj'];
  20. if($odejmuj == 1)
  21. {
  22. $zapytanie = 'UPDATE tabela SET dukaty=dukaty-2 fortyfikacje=fortyfikacje+1 WHERE user_login=%s';
  23. sprintf($zapytanie,$user_login);
  24. mysql_query($zapytanie);
  25. echo 'Odejmowanie wykonane';
  26. $odejmuj = 0;
  27. }
  28.  
  29. ?>
  30.  
  31. <HTML>
  32. <BODY>
  33. <form method="GET" action="kupuj.php">
  34. <input type="hidden" name="odejmuj" value="1"/>
  35. <input type="submit" value="odejmuj"/>
  36. </form>
  37. </BODY>
  38. </HTML>


gdzie jest błąd? Prosiłbym o poprawienie w miarę możliwości. Z góry dziękuję!

Pozdrawiam serdecznie
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
prowseed
post
Post #2





Grupa: Zarejestrowani
Postów: 433
Pomógł: 64
Dołączył: 29.01.2011
Skąd: Warszawa

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


Może wypadałoby dać przecinek między dukaty a fortyfikacje
Go to the top of the page
+Quote Post
toaspzoo
post
Post #3





Grupa: Zarejestrowani
Postów: 778
Pomógł: 84
Dołączył: 29.07.2010
Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury.

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


dokładnie tutaj

  1. $zapytanie = 'UPDATE tabela SET dukaty=dukaty-2 , fortyfikacje=fortyfikacje+1 WHERE user_login=%s';
Go to the top of the page
+Quote Post
-Wuwuzela-
post
Post #4





Goście







  1. $zapytanie = 'SELECT dukaty, fortyfikacje FROM users WHERE user_login=%s';

dalej te same błędy i objawy (objawy "niedziałania).

pzdr !
Go to the top of the page
+Quote Post
-Gość-
post
Post #5





Goście







Cytat(toaspzoo @ 13.02.2012, 18:41:06 ) *
dokładnie tutaj

  1. $zapytanie = 'UPDATE tabela SET dukaty=dukaty-2 , fortyfikacje=fortyfikacje+1 WHERE user_login=%s';


Zmieniłem tak jak radzisz - dalej to samo. Zero reakcji.
Go to the top of the page
+Quote Post
-Wuwuzela-
post
Post #6





Goście







Ktoś wie jak to napisać od podstaw nawet? Mógłby mi ktoś pomóc?
Byłbym wdzięczny bardzo !

pozdrawiam
Go to the top of the page
+Quote Post
sazian
post
Post #7





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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



  1. SELECT dukaty fortyfikacje FROM users WHERE user_login="%s"

  1. UPDATE tabela SET dukaty=dukaty-2 , fortyfikacje=fortyfikacje+1 WHERE user_login="%s"
Go to the top of the page
+Quote Post
-Gość-
post
Post #8





Goście







Cytat(sazian @ 13.02.2012, 22:06:53 ) *
  1. SELECT dukaty fortyfikacje FROM users WHERE user_login="%s"

  1. UPDATE tabela SET dukaty=dukaty-2 , fortyfikacje=fortyfikacje+1 WHERE user_login="%s"

Nie działa. Zamieniłem, dalej te same błędy:

Cytat
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /kupuj.php on line 17
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /kupuj.php on line 18


linie 17,18
  1. $dukaty = mysql_result($wynik,0,0);
  2. $fortyfikacje = mysql_result($wynik,1,0);
  3.  


Dałem również echo $dukaty aby zobaczyć czy w ogóle pobiera dane z tabeli - niestety, nic się nie pojawia, pomimo że dukaty są.

Gdzie może być problem?

pzdr!
Go to the top of the page
+Quote Post
sazian
post
Post #9





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


  1. sprintf($zapytanie,$user_login);
  2. //zamień na
  3. $zapytanie=sprintf($zapytanie,$user_login);
  4.  
Go to the top of the page
+Quote Post
-Gość-
post
Post #10





Goście







Dalej to samo. Te same błędy. Any ideas? A może ktoś podejmie się napisania tego od podstaw? Byłbym wdzięczny.

Pzdr!
Go to the top of the page
+Quote Post
toaspzoo
post
Post #11





Grupa: Zarejestrowani
Postów: 778
Pomógł: 84
Dołączył: 29.07.2010
Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury.

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


Ile oferujesz ? -> Giełda
Go to the top of the page
+Quote Post

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: 22.08.2025 - 19:20