Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Znajdź wartość i wykonaj.
Forum PHP.pl > Forum > PHP
masterhunter
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ś ?
Wezyr
  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. }
masterhunter
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.
yevaud
a z czym masz konkretnie problem podczas pisania tej hax0rskiej funkcji ?
masterhunter
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ś?
Cysiaczek
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ę?
masterhunter
To jest praca dla mnie, żadne zlecenia i prace na uczelnie.
fander
to podasz te błędy czy nie ? Po co ci funkcja skoro wystarczy dopisać parę zapytań MySQL
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.