Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobranie wpisów z bazy x razy ?
Forum PHP.pl > Forum > Bazy danych > MySQL
Lacki2006
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


Szymciosek
Czyli masz tabelę, a w niej 4 kolumny (ID, nazwa, cena, ilość) ?
I teraz chcesz pobrać z podanego wcześniej ID wszystkie te wartości nazwa, cena i ilość ?

Jeśli tak to spróbuj:
  1. <?php
  2.  
  3. $result = mysql_query("SELECT nazwa, cena, ilosc FROM produkty WHERE id=4");
  4. $nazwa = mysql_result($result, 0, 'nazwa');
  5. $cena = mysql_result($result, 0, 'cena');
  6. $ilosc = mysql_result($result, 0, 'ilosc');
  7.  
  8. echo $nazwa.' '.$cena.' '.$ilosc;
  9.  
  10. ?>
Lacki2006
Cos takiego sa 4 kolumny tylko tej tabeli jest wiele wpisów i ja chę aby pobrał tyle razy ile jest wpisów w tabeli z id = 4
To są pozycje które będą umieszcozne na fakturze a tych pozycji raz może myć 4 potem np 8 i chodzi o to aby pobrał wszystkie pozycje z tabeli o id 4
d3ut3r
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

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.