![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 15.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
zna ktoś może sposób na to, aby przy dodawaniu nowego rekordu (powiedzmy, przy rejestracji), skrypt wyszukiwał "dziury" w rekordach, i wstawiał je właśnie w te miejsca. Powiedzmy że mam coś takiego: usera - id 1 userb - id 2 userd - id 4 Chce aby po rejestracji użytkownik posiadał id 3. Dobrze by było, aby uzupełniało dopiero od danej wartości. Powiedzmy że od id 50, wszystkie wcześniejsze będą ignorowane. -------------------- Bądźmy realistami, żądajmy tego, co niemożliwe.
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
A po co chcesz to robić?
Przecież to bez sensu. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 15.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Otóż właśnie nie!
Mam zamiar wykorzystać to w grze, która opiera się na id, i wszelkie akcje wykonywane w niej jak naprzykład przekazanie złota bądź danego przedmiotu, wymaga podania id, a po kilku miesiącach rejestracji userów id są rzędu 6000-7000, co źle wpływa na wygode samej gry. -------------------- Bądźmy realistami, żądajmy tego, co niemożliwe.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat a po kilku miesiącach rejestracji userów id są rzędu 6000-7000, co źle wpływa na wygode samej gry a w jaki sposob to źle wplywa? Wybacz, ale nie rozumiem. Dziury w numeracji w kazdej aplikacji nie powinny miec zadnego zlego wplywu
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 15.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Bo zamiast wpisywania trzech cyferek przy przelewaniu kasy, wpisuje 6-7. Kolejna rzecz, to że ludzie z reguły wolą mieć mniejsze id, ze względu na fakt, że im mniejsze tym wyżej są na liście obecnych.
-------------------- Bądźmy realistami, żądajmy tego, co niemożliwe.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 3.12.2003 Skąd: Allenstein Ostrzeżenie: (0%) ![]() ![]() |
Może dodatkowe pole w bazie i nadanie im numerow od 1 do ilosci userow ?
Zniknie problem ale przybedzie pole . -------------------- pozdrawiam
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
Bo zamiast wpisywania trzech cyferek przy przelewaniu kasy, wpisuje 6-7. Kolejna rzecz, to że ludzie z reguły wolą mieć mniejsze id, ze względu na fakt, że im mniejsze tym wyżej są na liście obecnych. chcesz powiedziec ze jezeli ktos nowy sie zapisze i zalozmy bedzie mial to mniejsze ID bo trafi mu sie dziura (np ID 29 sie zwolni) to bedzie wyzej w hierarchi? o masz zly sposob hierarchizowania;) a pozatym niech gracz nie bedzie numerkiem, tylko zeby mial swoj login i jak chcesz dac mu mozliwosc robienia przelewu totak zeby nie musial pamuietac jaki to byl login, albo jakie to bylo ID tylko zrob mu liste userow niech sobie znajdzie i kliknie. -------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 15.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Eh, chyba jasno powiedziałem czego potrzebuje prawda?
![]() Zależy mi na skrypcie który sprawdzi tabele w poszukiwaniu "dziur" i przy dodawaniu nowego wiersza, najnormalniej załata nim jedną z tych luk. Moge liczyć na pomoc? A propo, AxZx - sprawdź sam, dlaczego nie moge zrobić inaczej - http://abbil.cal.pl Ten post edytował propheti 27.09.2006, 18:05:17 -------------------- Bądźmy realistami, żądajmy tego, co niemożliwe.
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 1 012 Pomógł: 109 Dołączył: 26.09.2003 Skąd: nexis.pl Ostrzeżenie: (0%) ![]() ![]() |
Są dwa sposoby:
1) Podczas usuwania konto (czyli zwolnieniu się ID) dopisujesz to ID do specjalnej tabeli, z której podczas rejestracji jest ewentualnie brane ID, a jeśli tabela jest pusta to użytkownik dostaje po prostu MAX(id) 2) Robisz pęltę i sprawdzasz po kolei czy dane id jest zajęte
Ten post edytował nexis 27.09.2006, 18:51:44 -------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 611 Pomógł: 19 Dołączył: 28.02.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
jak tak będziesz łatać dziurki a używasz mysql bez transakcji to może Cie spotkać bardzo przykra niespodzianka i w bazie zrobi Ci sie niezły bałagan chyba że dobrze to kontrolujesz.
A co do skryptu który będzie to sprawdzał to po prostu przelatuj kolejne cyferki z tabelki od 1 w góre i szukaj pierwszej wolnej. -------------------- |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 15.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Huh, no i pojawił się problem.
![]() Kod Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/prophet/domains/abbil.cal.pl/public_html/test.php on line 8 linia 8 to: Kod while (($row = mysql_fetch_array( $query )) && (!isset( $userid ))) {
-------------------- Bądźmy realistami, żądajmy tego, co niemożliwe.
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Kiedys pisalem na forum jak za pomoca 1 zapytania zwrocic najmniejszy wolny numer. Wystarczy poszukac jak Cie to tak bardzo interesuje. Jesli nie znajdziesz to pisz to powtorze to jeszcze raz.
-------------------- |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 15.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ja na szczęście należe do nielicznej grupy osób, które potrafią korzystać z wyszukiwarek. Jednak znalezienie tego jednego posta wśród tysięcy tematów jest niczym poszukiwanie igły w stogu siana, a ja już i tak spędziłem sporo czasu na poszukiwaniu odpowiedzi na nurtujące mnie pytanie.
Więc byłbym wyjątkowo wdzięczny jeśli mógłyś powtórzyć. -------------------- Bądźmy realistami, żądajmy tego, co niemożliwe.
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Ok wiec najprosciej jest zrobic cos takiego.
Mamy tabele tabela pole id 1 2 4 5 7 10 Najmniejszym wolny id jest 3
Problem jest jesli nie ma pierwszego id czyli 1. Mam nadzieje ze CI to jakos zobrazowalo jak wyciagnac najmniejsze wolne id. -------------------- |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 15.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Niestety, ale powyższe zapytanie nie działa, zawsze przy wykonywaniu wywala wynik 2.
Możliwe że robie coś źle... Ehh, już mnie zaczyna głowa od tego boleć. ![]() -------------------- Bądźmy realistami, żądajmy tego, co niemożliwe.
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Podaj strukture i kilka przykladowych danych i zapytanie jakie wykonujesz.
-------------------- |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 15.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Struktura tabeli players:
id | user | pass | rank | ... ----- 1 | jurek | (md5) | admin | ... 2 | czesuaf | (md5) | member | ... 4 | wacuaf | (md5) | staff | ... A oto zapytanie:
-------------------- Bądźmy realistami, żądajmy tego, co niemożliwe.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 18:40 |