Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL] Znajdź wartość i wykonaj.
masterhunter
post
Post #1





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 5.07.2008

Ostrzeżenie: (30%)
XX---


Witam,
mam 2 tabele w mysql

+ poleceni (id | uzytkownik | polecil | aktywowal)
+ user (id | login | password | punkty | active)

Mam taki kod do aktywowania konta ręcznie:
  1. if($_GET['opcja'] == 'aktywacja') {
  2. if($_POST['user_id']) {
  3. $a = mysql_query('UPDATE user SET active = "'.$_POST['aktywacja'].'" WHERE id = "'.$_POST['user_id'].'"') or die("Wystąpił błąd!" . mysql_error());
  4.  
  5. } else {
  6. <form action="index.php?opcja=aktywacja" method="POST">
  7. <select name="user_id">';
  8.  
  9.  
  10. $b = mysql_query('SELECT * FROM user ORDER BY login DESC');
  11. while($row = mysql_fetch_array($b)) {
  12. print '<option value="'.$row['id'].'">'.$row['login'].'</option>';
  13. }
  14.  
  15. echo '
  16. </select><br>
  17. <select name="aktywacja">
  18. <option value="1">Aktywuj konto</option>
  19. <option value="0">Zablokuj konto</option>
  20. </select><br>
  21. <input type="submit" value="Zapisz zmiany">
  22. </form>';
  23.  
  24.  
  25. }
  26. }
  27.  


Nie wiem jak dodać do tego kodu taką funkcję:
Jeżeli aktywowałeś konto użytkownikowi wybranemu z listy, to przejdź do tabeli "poleceni" wyszukaj użytkownika któremu aktywowałem konto i sprawdź kto go polecił i dodaj osobie polecającej w tabeli "user" i w polu punkty dodaj mu +100 punktów.


Bardzo proszę o pomoc.

Pozdrawiam.

Pomoże ktoś ?
Go to the top of the page
+Quote Post
Wezyr
post
Post #2





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 4.09.2010

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


  1. function activation_points($user_id,$my_id) {
  2. $a = mysql_query("SELECT polecil FROM poleceni WHERE uzytkownik=$user_id AND aktywowal=0");
  3. if(!$a) die("Wystąpił błąd!".mysql_error());
  4. list($polecil)=mysql_fetch_row($a);
  5. $b= mysql_query("UPDATE user SET punkty = punkty + 100 WHERE id=$polecil");
  6. if(!$b) die("Wystąpił błąd!".mysql_error());
  7. $c= mysql_query("UPDATE polecil SET aktywowal = $my_id WHERE uzytkownik=$user_id");
  8. if(!$c) die("Wystąpił błąd!".mysql_error());
  9. }


a funkcję wywołaj tutaj (nie wiem skąd bierzesz ID bieżącego - zalogowanego użytkownika ale wstaw je zamiast $my_id):
  1. if($_POST['user_id']) {
  2. activation_points($_POST['user_id'],$my_id);
  3. $a = mysql_query('UPDATE user SET active = "'.$_POST['aktywacja'].'" WHERE id = "'.$_POST['user_id'].'"') or die("Wystąpił błąd!" . mysql_error());
  4. }
Go to the top of the page
+Quote Post
masterhunter
post
Post #3





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 5.07.2008

Ostrzeżenie: (30%)
XX---


Niestety to nie działa tak jak powinno:
Dane w mysql:
Struktura
+ poleceni (id | uzytkownik | polecil | aktywowal)
+ user (id | login | password | punkty | active)

Przykład
+poleceni (249 nowy@nowy.com polecil@polecil.com 0)
+user (275 polecil@polecil.com hasło 0 1)

na chwilę obecną kod który podałem dodaje aktywację dla nowego. A zależy mi jeszcze na takiej funkcji podczas aktywacji która wyczyta z poleceni informację że nowego@nowy.com polecił polecil@polecil.com i dla niego leci +100pkt.

Pozdrawiam.

Ten post edytował masterhunter 9.09.2010, 03:11:32
Go to the top of the page
+Quote Post
yevaud
post
Post #4





Grupa: Zarejestrowani
Postów: 471
Pomógł: 89
Dołączył: 29.07.2008
Skąd: Warszawa

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


a z czym masz konkretnie problem podczas pisania tej hax0rskiej funkcji ?
Go to the top of the page
+Quote Post
masterhunter
post
Post #5





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 5.07.2008

Ostrzeżenie: (30%)
XX---


Próbowałem na setki sposobów lecz zawsze jakiś błąd wywala. Ja nie znam się aż tak dobrze na PHP dopiero studiuję biblię wydania trzeciego PHP i MySQL (Tworzenie stron WWW) Vademecum profesjonalisty.
Niektóre funkcje mnie przerastają, a funkcja jest aktualnie bardzo potrzebna dlatego bardzo bym prosił o napisanie gotowej z której będę wiedział jak to ugryźć następnym razem.


Pozdrawiam.

Pomoże ktoś?
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #6





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Jakie błędy wywala? Jak próbowałeś? Gdybyś próbował, to byś miał jakiś ślad po tych próbach - jakiś błędny kod, prawda?
Nie piszemy tutaj gotowców, więc zapomnij. Może i jestem wredny, ale zapytam - to jakieś zlecenie, które wziąłeś i nie umiesz zrobić, czy praca na uczelnię?
Go to the top of the page
+Quote Post
masterhunter
post
Post #7





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 5.07.2008

Ostrzeżenie: (30%)
XX---


To jest praca dla mnie, żadne zlecenia i prace na uczelnie.
Go to the top of the page
+Quote Post
fander
post
Post #8





Grupa: Zarejestrowani
Postów: 231
Pomógł: 22
Dołączył: 6.10.2008

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


to podasz te błędy czy nie ? Po co ci funkcja skoro wystarczy dopisać parę zapytań MySQL
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: 25.08.2025 - 05:44