Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Słowniki problem ze wstawianiem danych
czaq
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 19.08.2008

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


Witam

Bardzo prosze o pomoc, poniewaz szukam i klikam juz od kilku dni i dojsc nie moge :/

Otoz mam tabele KLIENT gdzie jest:
- imie
- nazwisko
- ....
- id_dps
- id_ulica
- id_choroby
- ....

DPS:
- id_dps
- adres
- koszt
- nazwa

ULICA:

- id_ulica
- nazwa

Mam formularz ze wszystkimi danymi - w selectach sa dane pobierane z powyzszych tabel, ale mam problem ze wstawieniem danych. Czy moglibyscie mi pomoc w napisaniu INSERT'a do tabeli klient gdzie w miejsca np id_dps wstawi sie numer id z selecta gdzie mam wpisane adresy dps'ów ?

(DPS - Dom pomocy spolecznej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Troche czas mnie nagli, ale to jest moja praca inz. - zostalo mi tylko to (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Z gory dziekuje
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
siemieng
post
Post #2





Grupa: Zarejestrowani
Postów: 101
Pomógł: 7
Dołączył: 16.01.2007

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


Nie wiem czy dobrze rozumie pytanie, ale jeśli chodzi o wstawienie danych do tabeli KLIENT z uwzględnieniem id DPS'a z tabeli DPS, to pasowałby by, żebyś wiedział, którego DPS'a szukasz na podstawie np. adresu i nazwy (przy założeniu że nie ma DPS'u o takiej samej nazwie na takiej samej ulicy),
wtedy:

najpierw pobierasz odpowiednie dane z tabeli DPS:
  1. SELECT DPS.*
  2. FROM DPS WHERE adres = 'odpowiedni adres' AND nazwa = 'odpowednia nazwa'
  3. ORDER BY id
  4. LIMIT 1 ;

następnie z tablicy wynikowej przypisujesz wartość otrzymanego id do zmiennej, np:
  1. <?php
  2. $DPSid = $row['id_dps'];
  3. ?>

i wtedy mając id DPS'u wstawiasz to tabeli KLIENT wraz z innymi danymi.

Ogólnie całość w kodzie php może wyglądać:
  1. <?php
  2. $sqlOut = " SELECT DPS.* 
  3. FROM DPS
  4. WHERE adres = 'odpowiedni adres' AND nazwa = 'odpowiednia nazwa'
  5. ORDER BY id
  6. LIMIT 1; ";
  7.  
  8. $resOut=mysql_query($sqlOut ) or die ("<b>ERROR!</b>");
  9.  
  10. while ($row = mysql_fetch_array($resOut, MYSQL_BOTH)) {
  11. $DPSid = $row['id_dps'];
  12. }
  13.  
  14. $sqlIn = "INSERT INTO KLIENT VALUES 'imie', 'nazwisko', ... '$DPSid', .....";
  15.  
  16. $resIn=mysql_query($sqlIn) or die ("<b>ERROR!</b>");
  17. ?>

Chyba, że masz już obie tabele zapełnione tylko brakuje Ci wartość id_dps w tabeli KLIENCI, wtedy robisz to samo, tyle że zamiast INSERT używasz UPDATE.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 14:35