![]() |
![]() |
-Gość- |
![]()
Post
#1
|
Goście ![]() |
Witam
Chciałbym osiągnąć coś takiego, aby skrypt podawał mi najmniejszą możliwą liczbę, która nie występuje jeszcze w bazie. Mógłbym zrobić to za pomocą dodania 1 do liczby maksymalnej, bo liczby te idą pokolei, ale jednak wolę się jakoś zabezpieczyć, bo jednak może się zdarzyć gdzieś luka np liczby w kolumnie numer idą od 1-79 i potem 81-178 i wtedy chcę, żeby wyświetliło mi liczbę 80 Jak mogę to osiągnąć? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 467 Pomógł: 39 Dołączył: 7.11.2010 Skąd: Raz tu, raz tam Ostrzeżenie: (30%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 348 Pomógł: 26 Dołączył: 8.10.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Zdaje mi się, że to nie rozwiązuje problemu. Co jak będzie 6 wpisów o numerach 21 22 23 25 26 27 ?
Myślę, że autor powinien podać więcej szczegółów. Edit: może tak:
Jednak odnoszę nieodparte wrażenie, że taki problem jaki przedstawił autor nie powinien się pojawić... Myślę, że rozwiązania należałoby szukać wcześniej. Ten post edytował Adi32 24.12.2011, 19:40:20 |
|
|
-Gość- |
![]()
Post
#4
|
Goście ![]() |
Cytat Jednak odnoszę nieodparte wrażenie, że taki problem jaki przedstawił autor nie powinien się pojawić... Myślę, że rozwiązania należałoby szukać wcześniej. Chodzi o to, że skrypt ma pobierać z bazy danych wszystkie liczby z kolumny Numer (to coś jak ID) Załóżmy, że każdy rekord to nowy klient, kiedy ktoś nie jest klientem to usuwa się cały rekord z bazy i wtedy robi się luka. Chciałbym, żeby wtedy nowy rekord wszedł na miejsce tego usuniętego, aby luki nie było, dlatego potrzebna mi jest ta liczba, aby w formularzu dodawania rekordu automatycznie uzupełniało się pole ID. Mam nadzieję, że teraz wiadomo o co mi chodzi i da się jakoś ten skrypt dostosować (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 348 Pomógł: 26 Dołączył: 8.10.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
W praktyce tak się nie robi, nie łata się żadnych luk, jaki w ogóle ma to cel?
W praktyce, dodaje się kolumnę 'usuniety' i daje się na true gdy usunięty. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 467 Pomógł: 39 Dołączył: 7.11.2010 Skąd: Raz tu, raz tam Ostrzeżenie: (30%) ![]() ![]() |
Mój przykład pokaże Ci zawsze pierwszą wolną luke więc przed tym skryptem zrób zapytanie wyciągające id, w miejsce $ile_liczb wrzuc zmienna z iloscia rekordow z tego zapytania.
pozniej juz przy tworzeniu rekordu do inserta dodajesz id='$a[1]' i tyle tylko jestem ciekawy po co niby tą pustą luke wypełniać? co do posta wyżej. W sumie pierwszy raz o takim wypełnianiu słysze Ten post edytował ciekawskiii 24.12.2011, 22:16:20 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 125 Pomógł: 2 Dołączył: 8.10.2010 Skąd: Poniemieckie miasto przesiedleńców Ostrzeżenie: (0%) ![]() ![]() |
tak jak powiedzieli poprzednicy nie stosuje się takiego rozwiązania, pole to np. ID klienta powinno być auto incrementem w bazie i samo nadawać sobie numer, jeśli usuwasz danego klienta to nie zwalniasz jego ID dla innego bo to może ci przynieść w późniejszym terminie niepożądane skutki np. przejęcie jakichś specyficznych własności przez nowego klienta który wraz z ID odziedziczy je po starym
najlepsze rozwiązanie to dodanie pola do bazy, które będzie znacznikiem 0-1 czy dany rekord jest aktywnym czy nieaktywnym klientem Ten post edytował olechafm 24.12.2011, 22:20:56 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 13:21 |