Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] Kod + Automatyczne ID
Forum PHP.pl > Forum > Przedszkole
dusty
Witam,

Mam dwie tabele:

1. kraje - zawiera dwie kolumny: kod; kraj (np. PL; Polska)
2. klienci - zawiera trzy kolumny: klient_id; imie; nazwisko

W tym że klient_id ma miec następującą strukturę: kod + automatyczna numeracja np: PL1;PL2 itp

Wprowadzanie danych chciałbym dokonac za pomocą formularza na stronie php.

Teraz pytanie, jak to zrobic? Czy powinnienem użyc pentlę, czy jakoś innaczej to rozwiązac?

Czy da się to zastosowac przy mysqlu?
-lion_87-
To w formularzy PHP w który dodajesz nowego zrób jeszcze edit

##edit

select from klienci where klient_id="$imie";

$nr="klient_id";

update klienci set klient_id="PL$nr" where klient_id="$imie";

$imie-to osoba która własnie sie dodaje,

ocywiście bardzo skrótowo to podalem ale mam nadzieje że wiesz o co chodzi:)
dusty
Ok, żebym zrozumiał - normalnie wprowadzam kolejna osobę do bazy, nastepnie wybieram nr_id ostatniego klienta i dodaje do niego update polegajacym na dodaniu PL przez zapamiętanym id.

A jeżeli chciałbym żeby w zalezności jaki w forumlarzu (drop down list) będzie wybrany kraj to stosuje wtedy if a w kodzie zamiast "PL$nr" mogę zastosowac np. "$kraj$nr"

Jescze dwa pytania:

1. gdzie najlepiej umieścic ##edit (w której części szkieletu)?
2. a co jak imię będzie sie w bazie powtarzało? Czy w takim wypadku zaraz po wprowadzeniu zamiast select imię to zastosowac i zapamietac mysql_insert_id

Jeszcze raz dzięki za pomoc, naprawdę sie przydała.
dadexix
a ja bym to zrobił troszkę inaczej:P przy dodawaniu do bazy sprawdzić jaki numer ma ostatni klient w bazie, dodać do tego jeden i wpisać dobazy jako pl$1
czyli
Kod
$zapytanie1=mysql_query("select klient_id from klienci limit 0,1 order by klient_id ASC"); //Zawsze mi się myli więc mogłem dać źle... nie wiem czy ASC czy DESC... w każdym bądz razi malejąco:P

$klient=mysql_fetch_row($zapytanie1);
$nr_klienta = str_replace("PL", "", $klient);
$nr_klienta2 = $nr_klienta+1;
$id_klienta = "PL".$nr_klienta2;


i tak mamy o jeden większe....

Zastosowanie u góry dobre ale jeśli ktoś wejdzie na strone a wyśle formularz poo paru h? to może być klika osób o tym samym ID...


Edit:
sorka ja chyba ślepy głupi itd ale chyba przykład na zastosowanie tego na początku był inny.. przynajmniej tak zrozumiałem:P
Lion_87
A po co Ci dwie tabele? Nie możesz w jednej?
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.