Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pozostałości po usuniecu wpisu z bazy
Forum PHP.pl > Forum > Przedszkole
Legro
Napisałem skrypt artykulow. Dodawanie przez formularz i wyswietlanie tych ktore sie dodaly do bazy, oraz usuwanie ich z bazy. Jednak gdy przez plik usuwam jakis wpis do nmeruje dalej.
tz.
Dodalem jakies wpisy przez formularz, np. 3

i kazdy mial inny id : 1, 2, 3

jak usunałem przez plik te trzy dodane artykuly i znowu dodałem kolejne trzy, to nie lixczyło mi ich od 1, 2, 3 tylko liczyło mi je od 4 czyli 4, 5, 6

jak zrobic aby jak usune np. trzy arty ktore dodalem to zeby mi liczylo od 1

i zeby to tez dzialalo ze jak dodalem np. 5 artow

1
2
3
4
5

i usunalem 3 to id 4 zmienilo by sie na 3
a id 5 na 4

wiecie o co mi chodzi questionmark.gif
prosze o pomoc biggrin.gif
ikioloak
moze nie ustawiaj auto_increment tylko operuj samemu na wartosciach id
Legro
Jak w bazie z id usunę auto_increment to nie mogę dodac 2 artykulow. 1 art dodaje a gdy drugi dodaje to wyswietla nmi sie

Cytat
Powtórzone wyst?pienie '0' dla klucza 1


:/
ikioloak
jak w bazie usuniesz auto_increment to musisz zmienic sposob dodawania do bazy. wczesniej miales tak ze id samo roslo. teraz ty sie bediesz musial tym zajac

edit: byc moze jest tego lepsze rozwiazanie. takie mi przychodzi do glowy w tej chwili.
Legro
Cytat
musisz zmienic sposob dodawania do bazy


moglbys powiedziec jak to mniej wiecej zrobic questionmark.gif i czy tak samo mam zrobic z usuwanie m ?
ikioloak
Wiesz ale to ogolnie chyba sensu wiekszego nie ma. Pomysl, jak bedziesz usuwal jakis artykul to bedzie jeszcze wykonywane dodatkowe zapytanie zeby obnizyc id wszystkich wyzej. A przeciez to jest tylko identyfikator. Jak bedziesz chcial miec tak jak mowisz, bez luk to wynik zapytania select * from .. order by id wrzucisz do tablicy wielowymiarowej ktorej jednym wymiarem beda wlasnie kolejne liczby. Czy nie o to ci chodzi?
Legro
no ale ja nie zabardzo wiem co zrobic :/ nie istnieje jakis prostszy sposob dla mnie questionmark.gif bo z tym to sobie raczej nie poradzę bo wogole nie wiem o co chodzi..
ikioloak
Napisz co chcesz osiagnac przez te swoje kolejne id, do czego ci to potrzebne to wtedy mozna sie zastanowic jak zrobic to tak zeby bylo dobrze.
Legro
słuchaj

dodalem przez formularz 3 artykuly

1 mial id = 1
2 mial id = 2
3 mial id = 3

artykul o id = 2 mi sie nie spodobal i usunąłem go przez link plik.php?usun=2

i usunał sie i teraz jest luka nie ma id = 2 zadnego w nim artykulu

nie podobal mi sie tez art o id = 3 wiec go usunalem przez link

i dodalem kolejne 2 artykuly ktore zamiast powinny miec id = 2 i id = 3 to mialy id = 4 i id=5

a ja niechce miec takich luk

wiec pytam tu na forum jak to zrobic najprosciej :/
yavaho
Cytat(Legro @ 2005-07-29 22:48:22)
i dodalem kolejne 2 artykuly ktore zamiast powinny miec id = 2 i id = 3 to mialy id = 4 i id=5
a ja niechce miec takich luk
Czy podczas wyswietlania artykulow masz jakies "luki" ? Czy tylko przeszkadza ci ze identyfikator w bazie danych nie ma kolejnosci?

Mozesz to zrobic jeszcze w inny sposob ale bedzie potrzebne dodatkowe pole przy kazdym rekordzie informujace czy artykuly z tego rekordu maja zostac wyswietlone czy nie.
I jak bedziesz kasowal artykuly to nie bedziesz usuwal calego rekordu tylko zaznaczal ze jest on nieaktywny. Potem podczas wprowadzania nowego artykulu zastapisz pierwszy wolny (nieaktywny rekord nowymi danymi).

Tylko ze kazde rowiazanie Twojego problemu ktore ktos tu podpowie to bedzie tylko niepotrzebne obciazenie serwera.
Legro
Cytat
Czy podczas wyswietlania artykulow masz jakies "luki" ? Czy tylko przeszkadza ci ze identyfikator w bazie danych nie ma kolejnosci?


Przeszkadza mi to ze w liscie artykulow nie mam kolejnosci.

Cytat
I jak bedziesz kasowal artykuly to nie bedziesz usuwal calego rekordu tylko zaznaczal ze jest on nieaktywny. Potem podczas wprowadzania nowego artykulu zastapisz pierwszy wolny (nieaktywny rekord nowymi danymi).


No to raczej nie jest najlepszy sposob. Naprawde nie ma innego sposobu questionmark.gif? Ew. proszę powiedz jak to zrobic worriedsmiley.gif
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.