Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] Kod + Automatyczne ID
dusty
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 20.11.2007

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
--lion_87--
post
Post #2





Goście







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:)
Go to the top of the page
+Quote Post
dusty
post
Post #3





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 20.11.2007

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
dadexix
post
Post #4





Grupa: Zarejestrowani
Postów: 439
Pomógł: 21
Dołączył: 28.06.2007
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


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

Ten post edytował dadexix 21.11.2007, 12:23:14


--------------------
"Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...]
Grins: mów normalnie do mnie a nie po polsku
Ja: normalnie to znaczy jak?
Grins: No w PHP... inaczej mój parser ledwo kuma:)
Go to the top of the page
+Quote Post
Lion_87
post
Post #5





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


A po co Ci dwie tabele? Nie możesz w jednej?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 05:27