![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 339 Pomógł: 3 Dołączył: 15.10.2008 Skąd: Internet Ostrzeżenie: (0%) ![]() ![]() |
Witajcie.
Tworzę pewną numerację i mam z tym mały problem. W bazie danych są numery, dodawane z poziomu PHP, po kolei od ostatniego, czyli pobiera najwyższy numer oraz dodaje do niego +1. Ma to pewną wadę i nie wiem jak ją rozwiązać - jeżeli wielu użytkowników na raz będzie dodawało to może się zdarzyć iż numery będą dublowane i stąd moje pytanie jak temu zapobiec, aby w momencie dodania jeżeli ktoś już nas wyprzedził to jest dodawany kolejny numer. Od razu mówię, iż nie mogę tego ustawić na automatyczną wartość. Pozdrawiam. -------------------- "Nie ma głupich pytań, są tylko głupie odpowiedzi."
Pomogłem?? Kliknij "Pomógł" :) Dzięki! |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
auto_increment, inne możliwości nie ma...
Ten post edytował Kshyhoo 27.11.2011, 17:39:59 -------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 339 Pomógł: 3 Dołączył: 15.10.2008 Skąd: Internet Ostrzeżenie: (0%) ![]() ![]() |
auto_increment, inne możliwości nie ma... Od razu mówię, iż nie mogę tego ustawić na automatyczną wartość. Chcę to wykorzystać do systemu rachunków, które w bazie danych mają swoje numery, co roku zaczynają one się od 1. Ten post edytował desavil 27.11.2011, 17:51:37 -------------------- "Nie ma głupich pytań, są tylko głupie odpowiedzi."
Pomogłem?? Kliknij "Pomógł" :) Dzięki! |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 19 Dołączył: 13.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Możesz ustawić kolumne jako unikalny (UNIQUE), wtedy będziesz pewny że nie doda Ci drugiej takiej samej warości.
Tylko jak dasz pole UNIQUE to jeśli wpis id rachunku będzie w roku 2011 - 1, a w 2012 tez 1 to nie dodasz go już bo UNIQUE Ci nie pozwoli, Wiec musiałbyś dodać jakiś przedrostek, np rok: 20111 a w 2012 wygladalby 20121, przy czym, przy wyświetlaniu w php-pie mozesz usunąc poniewaz przedrostek jest staly. -------------------- www.maxcode.pl
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 286 Pomógł: 12 Dołączył: 23.11.2006 Skąd: WL Ostrzeżenie: (0%) ![]() ![]() |
id <- unique,
rok <- unique I w czym problem? ID I ROK nigdy nie będą mogły być takie same... |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) ![]() ![]() |
możesz przy każdym dodawaniu rekordu sprawdzać phpem, czy istnieje rekord o takim id.
sądzę, że masz to tak zrobione (inne nazwy zmiennych) lub
więc sprawdź, czy rekord istnieje (id) [php] if($w['id'] == $nowe_id) { echo 'Rekord zdublowany!'; } else { //zapytanie dodające rekord } Zmienna $nowe_id to twoje nowe id, czy tam jakiś nr -------------------- LS Easter egg < |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 14:21 |