Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Słowniki problem ze wstawianiem danych
Forum PHP.pl > Forum > Bazy danych > MySQL
czaq
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 smile.gif

Troche czas mnie nagli, ale to jest moja praca inz. - zostalo mi tylko to smile.gif

Z gory dziekuje
siemieng
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.
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.