Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> tabele powiązane, faktura - produkty
Lonas
post
Post #1





Grupa: Zarejestrowani
Postów: 576
Pomógł: 14
Dołączył: 9.11.2005

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


Jak można rozwiązać problem jeśli na fakturze pojawia się więcej niż 1 produkt,
kontrahent jest zapisywany w tabeli, tylko jak teraz zapisać 2 produkty w jednej fakturze, są jakieś przypisania odwołania ?

Ten post edytował L.Pociask 15.11.2005, 21:14:15


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




zazwyczaj to sie tobi tak:
tabela faktura
tabela produkt. w tabeli produkt masz pole będące kluczem obcym do tabeli faktura. I jesli dwa prosukty naleza do jedenj faktury, to mają one te samo id faktury w tym polu. w ten sposob moze i 1000 produktow nalezec do jedenj faktury


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Lonas
post
Post #3





Grupa: Zarejestrowani
Postów: 576
Pomógł: 14
Dołączył: 9.11.2005

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


Mozesz mi cos podpowiedziec jak to wykonac od strony technicznej ?


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Sądziłem ze w miare jasno to napisałem, chyba sie starzeje smile.gif

faktura
Cytat
id
numer
....innne pola faktury


produkt
Cytat
id
nazwa
id_faktury - to pole zawiera id z tabeli faktura. na tej podstawie bedziesz wiedzial do jakiej faktury nalezy produkt
...inne pola produktu


typy pol se ponadawaj juz sam. Ten problem byl juz poruszany na łamach tego forum pare razy. poszukjaj jesli nadal nie rozumiesz


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Lonas
post
Post #5





Grupa: Zarejestrowani
Postów: 576
Pomógł: 14
Dołączył: 9.11.2005

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


Myśle jak wykonac żeby kiedy dodaje produkty do faktury nr id_faktura pobierał się automatycznie,
są jakieś odwołania w bazie czy np utworzyć pole z którego nr będzie pobierany i przypisywany produktowi.

czyli tworze fakture ma nr id 1
wyswietlam wynik np
1. FV 1/2005 nazwa ... itd
( teraz dodaje produkt )
id_faktura ma się pobierać jakoś z bazy czy np z pola które wyświetla się powyżej, w tym przypadku 1.


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




to juz jak ci wygodniej. mozesz z pola, mozesz z bazy, mozesz z sesji.
Skoro dodajesz produkty to wiesz chyba do jakiej faktury.

ps: rozdziele ten temat bo sie juz znacznie oddalil od początkowego smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
SongoQ
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Najlepszym rozwiazaniem jest dodac rekord tabeli i zwrocic id faktury a nastepnie dodawac wpisy z tym id, no i oczywiscie w transakcji.


--------------------
Go to the top of the page
+Quote Post
Lonas
post
Post #8





Grupa: Zarejestrowani
Postów: 576
Pomógł: 14
Dołączył: 9.11.2005

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


a jak moge zwrocić id faktury ?

w tej chwili mam zrobiony dokument:
pobiera kontrahenta z tabeli i pokazuje go w select,
po wybraniu kontrhenta są wpisy do tabeli faktury,
mam teraz problem jak pobrać id faktury kiedy przypisuje jej produkt,
/ przygotowałem kod - jeśli wybiore np kontrahent tomek - to zaraz pokaze mi sie fakura tomek o id np 4 ale tez pokaza sie wczesniejsze faktury tomka z nizszymi id,

jak teraz zrobić żeby pokazywała sie tylko ta o najwyzszym id - i wtedy zostanie ono pobrane do tabeli z produktami faktury

1. Pobranie i wpisanie danych do tabeli faktura :
  1. <?
  2. if (!$nowy)
  3.  
  4.  {
  5. print "Nie zostały wypełnione wszystkie pola";
  6.  }
  7.  
  8. $nazwa = addslashes($nowy);
  9. $id = 0;
  10.  
  11. @$db = mysql_pconnect("localhost", "root");
  12. if (!$db)
  13. {
  14. print "Nie można nawiązać połączenia z bazą danych";
  15. }
  16.  
  17. mysql_select_db("faktury");
  18.  
  19. $query = "insert into faktura values ('".$id."' ,'".$nazwa."' )";
  20. $result = mysql_query($query);
  21.  
  22. if ($result)
  23. print "Towar został dodany do bazy danych.";
  24. else { print "W bazie istnieje już kontrahent o tej nazwie."; }
  25. ?>



2.Wyświetlenie danych:

  1. <?
  2. @$db = mysql_pconnect("localhost", "root");
  3. if (!$db)
  4. {  
  5. print "wystąpił błąd w połączeniu";  
  6. exit;
  7. }
  8.  
  9. mysql_select_db("faktury"); 
  10.  
  11.  
  12.  
  13. $query = "select * from faktura where nazwa like ('".$nazwa."' )";
  14. $result = mysql_query($query);
  15. $num_results = mysql_num_rows($result);
  16.  
  17.  
  18. print "<p>Ilość produktów w bazie danych: ".$num_results."</p>";
  19. for ($i=0; $i <$num_results; $i++) {
  20. $row = mysql_fetch_array($result);
  21.  
  22. print "ID "; 
  23. print stripslashes($row["id"]);
  24.  
  25. print " , Kontrahent: ";
  26. print stripslashes($row["nazwa"]);
  27. print " <br>";  
  28.  
  29.  
  30.  
  31. }
  32. ?>


--------------------
Go to the top of the page
+Quote Post
SongoQ
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Zrob takie cos.
  1. <?php
  2.  
  3. $query = "insert into faktura (wymien pola faktury) values (wstaw pola)";
  4.  
  5. ?>


W zapytaniu pomin pole id, i nadaj wlasciowsc temu polu autoincrament, po dodanym zapytaniu uzyj funkcji mysql_insert_id a nastepnie wstawiaj wpisy faktury.


--------------------
Go to the top of the page
+Quote Post
Lonas
post
Post #10





Grupa: Zarejestrowani
Postów: 576
Pomógł: 14
Dołączył: 9.11.2005

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


No i świetnie tego szukałem, dziękuje


--------------------
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: 20.08.2025 - 16:03