![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 217 Pomógł: 1 Dołączył: 26.05.2011 Skąd: Moon Ostrzeżenie: (10%) ![]() ![]() |
Dobry wieczór wszystkim,
Po zakończeniu codziennych obowiązków usiadłem do klawiatury, żeby zadać kolejną porcję mniej lub bardziej beznadziejnych pytań. Dzisiaj dotyczyć będą możliwości porządkowania danych w bazach. Co nieco już wiem ale nigdzie nie znalazłem informacji jak porządkować dane - jeśli wogóle ktokolwiek to robi. Mam na myśli sytuację w której np zostaną usunięte rekordy. Siłą rzeczy powstają "dziury" pomiędzy rekordami. Czy można te dziury w jakiś sposób usunąć przez np przesunięcie istniejących danych lub czy istnieje polecenie wypełniające te wolne miejsca - w sensie naprawiające kolejność. Czy to wogóle potrzebne ? czy nie przeszkadzają one podczas wykonywania operacji na danych ? Jakiś czas temu robiłem prostą wybieraczkę ze stronicowaniem I np przeglądanie rekord po rekordzie działało poprawnie tylko jeśli kolejność tychże była zachowana. Jeśli np zmieniłem sposób odczytywania z bazy np według jakiegokolwiek innego element niz ID wszystko się sypało I otwieranie kolejnych stron stawało się zupełnie bez sensu ponieważ pokazywało całkiem inne rekordy (IMG:style_emoticons/default/smile.gif) Tak wiem, dzisiaj już wiem, że to jakaś bzdura była I padnie pytanie co za głąb coś takiego wymyślił (IMG:style_emoticons/default/smile.gif) A to własnie Ja (IMG:style_emoticons/default/smile.gif) Sposób generowania linków do kolejnych rekordów był tak idiotyczny że sam się sobie dziwię (IMG:style_emoticons/default/wink.gif) Z drugiej strony przestaję się dziwić kiedy pomyślę jaka byłą moja wiedza na ten temat. To cud, że wogóle działało (IMG:style_emoticons/default/smile.gif) Krok po kroku, uczę się, dowiaduję nowych rzeczy ale temat o który pytam pozostaje zagadką. W zasadzie po części odpowiedziałem już sobie na pytanie bo w sumie jeśli operuje się na id określonych rekordów to "naprawianie" dziur nie ma chyba sensu. bo niby po co to robić. A jeśli jakimś cudem coś lub ktoś spróbuje odczytać rekord którego niema ? Więc jak ? Jest taka potrzeba czy nie ? Jeśli jest to jak to zrobić ? Jakiego polecenia użyć ? Jak powinna wyglądać składnia takiego zapytania/polecenia ? Jeśli koniecznie chciałbym w jakiś półautomatyczny sposób wypełniać te luki to czy jest jakiś sposób aby je wyszukiwać I automatycznie je uzupełniać ? dziękuję za ewentualne p/odpowiedzi Pozdrawiam phpamator |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Dziury w numeracji ID autoincrement to normalna sprawa i nie ma co sie nimi przejmowac.
Jesli zas robiles stronicowanie i wychodzila ci kaszana, to nie wina dziur, a twojego skryptu. Stronicowanie robi sie przy uzyciu bazy z LIMIT i tam nie ma zadnego problemu z dziurami bo stronicowane sa rekordy a nie wartosci pokolei 1,2,3,4,5.... |
|
|
![]() ![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 321 Pomógł: 55 Dołączył: 19.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 217 Pomógł: 1 Dołączył: 26.05.2011 Skąd: Moon Ostrzeżenie: (10%) ![]() ![]() |
powyższe pytanie jest jedynym nad którym powinieneś się pochylić i znaleźć rozwiązanie Pochylał się nie będę (IMG:style_emoticons/default/smile.gif) ale rozwiązanie znajdę. (IMG:style_emoticons/default/smile.gif) Dziury w numeracji ID autoincrement to normalna sprawa i nie ma co sie nimi przejmowac. Jesli zas robiles stronicowanie i wychodzila ci kaszana, to nie wina dziur, a twojego skryptu. Stronicowanie robi sie przy uzyciu bazy z LIMIT i tam nie ma zadnego problemu z dziurami bo stronicowane sa rekordy a nie wartosci pokolei 1,2,3,4,5.... Owszem, samo stronicowanie nie ale linki które generowałem odwoływały się do stron i wyglądało to mniej więcej tak: http://adres.costam/page?= numer rekordu jtóry w przypadku "dziur" trochę się gubił (IMG:style_emoticons/default/smile.gif) a jeszcze śmieszniej działo się gdy lista tworzona była nie wg id tylko np którejś innej kolumny (IMG:style_emoticons/default/smile.gif) dlatego pokazywalo mi bzdury aaale to już historia (IMG:style_emoticons/default/smile.gif) (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 321 Pomógł: 55 Dołączył: 19.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Pochylał się nie będę (IMG:style_emoticons/default/smile.gif) ale rozwiązanie znajdę. (IMG:style_emoticons/default/smile.gif) no to pewnie za jakiś czas pewnie Twoje kolejne pytanie będzie w stylu "... jakimś cudem coś lub ktoś skasowało mia dane w bazie" (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 217 Pomógł: 1 Dołączył: 26.05.2011 Skąd: Moon Ostrzeżenie: (10%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 05:54 |