ForumCała strona

Nawigacja

Aktualnie online

Gości online: 38

Użytkowników online: 0

Łącznie użytkowników: 25,400
Najnowszy użytkownik: AlojzyBartek

Logowanie

Nazwa użytkownika

Hasło



Zarejestruj się

Odzyskaj hasło

Shoutbox

Musisz zalogować się, aby móc dodać wiadomość.

Zbigniew@
17.11.2024 11:33:24
Nie ten grzeszy kto pije, ale ten, kto się nie upije.

JazOOn
16.11.2024 20:46:18
tja

Zbigniew@
15.11.2024 18:58:17
Kto pije, ten nie bije.

JazOOn
31.10.2024 20:49:47
Kto pije?

piterus
30.10.2024 19:45:48
I będziemy śpiewać: "Kiedy 20 blisko, przebadaj wszystko, przebadaj wszystko..." Pfft

Pobierz nową wersję
Pobierz podręcznik
Zobacz inne oficjalne Supporty
Statystyki supportu
PHP-Fuson PL na Facebooku

RSS

Polecamy hosting SferaHost.pl

Zobacz temat

 Drukuj temat
Sprawdzanie rekordów w bazie i ich usuwanie
adi
Witam, mam na stronie gry które zapisują w bazie wyniki użytkowników, ale jak już niema użytkownika jego wyniki zostają a ja chce je usunąć.
Wyniki użytkownika zapisują się w tabeli gier z id użytkownika.
Moje pytanie brzmi, jakie muszę wysłać zapytanie i czy tak się w ogóle da by sprawdziło w tabeli varcade_score kolumnie player_id czy jest id użytkownika w tabeli users kolumnie user_id i po sprawdzeniu jak niema to go usunąć?.
Chyba nic nie zamotałem a może ma ktoś jakieś inne rozwiązanie? a tak przy okazji przydało by się to do usuwania postów nie istniejących już użytkowników.
Pozdrawiam.

//EDIT
Chyba nie do końca to przemyślałem bo by usunąć to zapytanie musi jeszcze znać score_id w tabeli varcade_score
www.slaskimix.eu/tab.png
Edytowane przez adi dnia 09.06.2018 17:01:09
 
radiosilesia.de
Wścibski Gość
Dodany dnia 24.11.2024 17:43:15
Pan Kontekstualny

Postów: n^x
Data rejestracji: Zawsze

Polecamy hosting SferaHost.pl
IP: localhost  
wellcode
O to chodzi? opisz dokładniej co masz na myśli, trochę niezrozumiałe jak dla mnie ;p

Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP

Edytowane przez wellcode dnia 09.06.2018 17:26:44
 
adi
Chodzi oto że w tabeli z punktami użytkowników z gier varcade_score mam takie kolumny
slaskimix.eu/tab.png

Jak widać zapisuje tam player_id które odpowiada user_id w tabeli user tyle że jak usune użytkownika lub automat go usunie, to już z tabeli varcade_score nie i jego punkty zostają
slaskimix.eu/tabg.png
Jak widać niema już tych osób więc są puste i chce je skasować, mogę oczywiście zrobić to ręcznie, ale jest to bardzo uciążliwe.
 
radiosilesia.de
wellcode
To dodaj do swojego systemu który usuwa użytkowników skrypt który usunie także punkty graczy

Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP


Jak chcesz automatycznie teraz usunąć to użyj tego kodu
Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP

ten skrypt usuwa punkty użytkowników którzy nie istnieją w tabeli users (a konkretnie ich id)
Edytowane przez wellcode dnia 09.06.2018 21:19:44
 
adi
Coś chyba nie tak, dodaje 2 kod w dodatkowej daje podgląd i nic się nie dziejeFrown
Tam musi być usuwanie score_id gdzieś w tym kodzie bo na moją logikę, poco ma kasować coś czego już niema czyli player_id, może ja coś źle kumam, ale twój kod sprawdzi tabele user czy jest user_id taki sam jak player_id i niby jak niema to usunie ale logiczne że go tam niema jak widać na obrazku pole gracz są puste bo niema takiego user_id
Edytowane przez adi dnia 09.06.2018 22:34:19
 
radiosilesia.de
wellcode
Wspomniałeś, że player_id to id użytkownika user_id tabeli users ;p. Skrypt który napisałem pobiera listę id użytkowników z tabeli users i zapisuje do tablicy, następnie pobiera id użytkowników z varcade_score i sprawdza czy istnieje taki użytkownik w tabeli users, jeśli nie istnieje to te punkty są usuwane. Czy player_id to dokładnie to samo co user_id ? tzn; czy player_id to id użytkownika z tabeli users?

/edit sprawdź czy punkty się usuneły
 
adi
Kolego jak mogły się punkty usunąć jak one są w kolumnie game_score chyba coś ja źle wytłumaczyłem

score_id = kolejny zapis w tabeli
game_id = numer gry
player_id = numer id użytkownika to samo co user_id
game_score = punkty
score_data = czas kiedy
 
radiosilesia.de
wellcode
Nie rozumiemy się Grin

Chcesz aby to działalo tak?
1. Skrypt sprawdza czy w tabeli users (user_id) istnieje użytkownik o takim samym (player_id)
2. Następnie
-> jeśli istnieje to nic ma sie nie dziać
-> jeśli nie istnieje użytkownik o user_id takim samym co player_id to wiersz w tabeli varcade_score ma być usuwany
 
adi
Tak dokładnie tak jak napisałeś ma się skasować wszystko , punkty data gra no i ten user hahahahh, masz cierpliwość do mnie, ale szanuje to.
 
radiosilesia.de
wellcode
No w takim razie ten kod, który ci podałem jako drugi tak działa :p. Jak podasz warunek WHERE player_id='XXX' to bez względu na reszte danych w wierszu, wiersz zostanie usunięty.

Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP


Upewnij się czy masz połączenia z bazą danych, jeśli tak i nadal nic sie nie dzieje dodaj na początku skryptu
Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP

Edytowane przez wellcode dnia 10.06.2018 01:31:39
 
adi
Baza danych jest ok ja jestem zbyt tępy w te klocki, ale po mojemu to ten kod jest bez sensu
po 1 jak ten kod ma szukać w user_id czegoś czego tam niema
po 2 chyba ma być na opak ma sprawdzić player_id czy są w user_id
po 3 pierwsze słyszę że można usunąć całą linie z tabeli usuwając zawartość z kolumny, to po kasowaniu czegokolwiek wywaliło by użytkownika, raczej trzeba usunąć id z 1 kolumny w moim przypadku to score_id
No ale cóż mało się znam więc usunę to chyba ręcznie z bazy to tylko 750 id w tabeli Smile
Pozdrawiam.
 
radiosilesia.de
wellcode
Ten kod jest napisany poprawnie,
1. w tabeli users masz pole user_id ?
2. player_id to id użytkownika z tabeli users?
3. Przykład:

tabela varcade_score

1.
score_id = xxxx
game_id = xxxx
player_id = 20
game_score = xxxx
score_data = xxxx

2.
score_id = xxxx
game_id = xxxx
player_id = 10
game_score = xxxx
score_data = xxxx

tabela users
(user_id = 10),
(user_id = 30)

Mój skrypt działa tak:
1. Pobiera wszystkie user_id z tabeli users i zapisuje do zmiennej:
Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP


2. Pobiera wszystkie player_id z tabeli varcade_score
10, 20

potem sprawdza czy w pobranych user_id-ach w tablicy $arr istnieje użytkownik z takim samych player_id.
Przykład:
Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP
 
adi
Szajba ja nie pisze że kod jest zły tylko bez sensu
Kumam ze sprawdzi i zapamięta wszystkie user_id
Potem sprawdzi i zapamięta wszystkie player_id
Potem sprawdzi czy w player_id jest coś czego niema w user_id
Do tej pory jest ok
Tyle że potem musiało by usunąć z tabeli varcade_score rekord score_id w którym player_id niema w user_id

Ps. Już 100 sprawdziłem i pousuwałem ręcznie. Pfft
 
radiosilesia.de
wellcode
No tak to działa. Sprawdź to:
Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP


Ciężko zrozumieć o co ci chodzi
 
adi
Przykro mi, ale nadal nic wydaje mi się że to jest źle
Pobierz kod źródłowy  Rozwiń Kod źródłowy

a i jak dodam to i dam podgląd to nie pokazuje skasowano i w tabeli błędów mam
Pobierz kod źródłowy  Rozwiń Kod źródłowy
 
radiosilesia.de
wellcode
Sprawdź to :P
Szkoda jechać pare tyś rekordów ;)

Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP
 
adi
Po kliknięciu podgląd
Pobierz kod źródłowy  Rozwiń Kod źródłowy


//EDIT
Zmieniłem na
Pobierz kod źródłowy  Rozwiń Kod źródłowy


i skasowało mi wszystko znaczy wyczyściło całą tabele varcade_score dobrze że miałem kopie :)
Edytowane przez adi dnia 10.06.2018 21:56:34
 
radiosilesia.de
wellcode
Powinno działać :)
Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP
 
adi
No i tera to tak, wielkie dzięki bo php i pić to trzeba umić.
Jeszcze 1 dzięki koło leci.
Pozdro all
Edytowane przez adi dnia 11.06.2018 15:03:45
 
radiosilesia.de
Przejdź do forum:
Created by Arox Copyright (C) 2004
Copyright (C) 2004 - 2018 Ekipa PHP-Fusion.pl