Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP+MySQL] Automatyczne ID + jego wyświetlanie
Forum PHP.pl > Forum > Przedszkole
dusty
Witam,

Posiadam kolekcję książek (tytuły się powtarzają), nie chciałbym żeby ksiązki były numerowane według ISBN, lecz według automatycznego klucza.

Zasada funkcjonowania mojej strony oraz bazy byłaby następująca

Na stronie php wpisuje tytuł ksiązki, wydawnictwo itp. Dane te zostają przekazane do bazy. Następnie przyporządkowany automatycznie nr id, piszę na ksiązce ( w świecie rzeczywistym). Problem tkwi w tym skąd mam wiedziec który ID pasuje do tej ksiązki której przed chwilą wprowadziłem. jeżeli bym uzył zapytanie select i where="tytuł książki" wyświetla mi się wszystkie ksiązki o tym samym tytule, a ja tylko jestem zaiteresowany ta ostatnio wprowadzoną. sciana.gif

Doskonałym rozwiązaniem byłoby jak by zaraz po wypełnieniu formularza on-line, kliknięciu na ikonę save, otzrymac drugi formularz twierdzący że ksiązka została faktycznie dodana do bazy mysql wraz z tytułem ksiązki oraz automatycznie stworzonym przez mysql ID tej ksiażki?

Jeżeli by ktoś był wstanie dostarczyc kod do odpowiedzi byłbym bardzo wdzięczny. biggrin.gif
dusty
Ale czy stosując mysql_insert_id nie będę miał problemy gdy więcej niż jedna osoba zapiszę kolejny rząd w bazie w tym samym czasie (ala transakcja)?
nospor
życzę szczęscia w napotkaniu takiej sytuacji, a juz szczegolnie gdy bedziesz mial transakcje.
dusty
Sutuacja nie jest taka mało prawdopodobna - chciałbym stworzyc nie zawodną bazę..obecnie tylko ja będę zapisywał tam moje ksiązki, ale jakbym planował odtworzyc sklep z ksiązkami, i miał kilka osób którzy je wprowadzają do systemu, co by się stało gdyby w tym powiedzmy 1 osoba wprowadziła dane do rzędu, ale jescze nie uzyskala odpowiedzi od bazy w formie ostatniego id a w tym samym czasie druga osoba wprowadziła ksiązkę, czy ten drugi wpis by został potraktowany jako ostatni id i wyświetlił by się póżniej on pierwszemu zamiast prawidłowy wpis pierwszej ksiązki?
drPayton
W przypadku transakcji jest to niemożliwe. Ale jeśli tak bardzo się boisz kolizji, to zainteresuj się tematem blokowania tabel na poziomie rekordu.
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.