Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobranie wpisów z bazy x razy ?
Lacki2006
post 5.06.2012, 22:30:10
Post #1





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 3.03.2012

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


Witam
Mam problem i nie mogę sobie z nim poradzić dlatego prosze o poradę.
Robie skrypt który będzie automatycznie generował fakturę VAT mam klase faktury w której wpisu do faktury dokonuje się przez wpis

$faktura->addItem("nazwa",cena,ilosc);

W bazie mysql mam powiedzmy 4 pozycje do wprowadzenie do faktury .
Chciał bym aby skrypt pobrał z bazy wszystkie pozycje w których kolumna Id będzie miała np nr 4 przyjmijmy że jest ich w bazie 4 wpisy jak zrobiciś aby skrypt pobrał te wszystkie wpisy tyle razy i dopisałe te pozycje do faktury poprzez $faktura->addItem("nazwa",cena,ilosc); proszę o poradę jak rozwiązać mój problem .
ewentualnie zapłacę za wykonanie takiego którkiego skryptu php do tego
Z gory bardzo dziękuję za pomoc




--------------------
----------------------------------------------------------------------------
Najlepsza scianka reklamowa z darmową dostawą w całej polsce.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
d3ut3r
post 6.06.2012, 07:40:42
Post #2





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

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


Bardzo zagmatwanie piszesz smile.gif jeżeli dobrze myślę to masz tabele

produkty,faktury i produkty_faktury,

struktura powinna wyglądać mnie więcej tak:

[Produkty]
id|nazwa|opis|cena
[Faktury]
id|klient|data_wystawienia|termin_platnosci
[produkty_faktury]
id_produktu|id_faktury|ilosc|cena


w tabelki produkty_faktury przechowujesz id faktury do której ten produkt należy. Teraz żeby wyciągnąć wszystkie produkty dla faktury o id=4 robisz:

  1. SELECT a.nazwa,b.ilosc,b.cena FROM produkty AS a LEFT JOIN produkty_faktury AS b ON a.id=b.id_produktu WHERE b.id_faktury=4


Jeżeli chodzi Ci o kod PHP to na szybko:
  1.  
  2. //wyżej powinno być połączenie z bazę z wykorzystaniem PDO
  3. $id_faktury=4; //to może być pobierane z formularza itp.
  4. $stmt=$pdo->prepare('SELECT a.nazwa,b.ilosc,b.cena FROM produkty AS a LEFT JOIN produkty_faktury AS b ON a.id=b.id_produktu WHERE b.id_faktury=:id');
  5. $stmt->bindValue(':id',$id_faktury,PDO::PARAM_INT);
  6. $stmt->execute();
  7.  
  8. $produkty=$stmt->fetchAll(); //na tym etapie masz już dostępną tablicę z twoimi produktami
  9.  
  10. foreach ($produkty as $produkt){
  11. $faktura->addItem($produkt['nazwa'],$produkt['ilosc'],$produkt['cena']);
  12. }


Pisane na szybko więc może wymagać korekt smile.gif



--------------------
http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
Go to the top of the page
+Quote Post

Posty w temacie


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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 14:34