Panowie mam problem, nie wiem jak wyświetlić wszystkie rekodry, będzie to zawsze kilka wierszy z tabeli zamowienia_pz, które mają identyczny rekodr w kolumnie id_pz sad.gif

Obecnie formularz dodania produktów do tabeli produktu, pz do tabeli pz oraz produktów, cen i ilości do tabeli zamowienia_pz przypisanym te same id_pz.
Ponieżej kod dodajacy wyżej opisane rekordy.

  1. <div id="wrapper" class="panel">
  2. ORYGINAŁ / KOPIA
  3. <section id="opcje" class="ramka2">

  1. <?php
  2.  
  3. require_once('include/database.php');
  4.  
  5.  
  6.  
  7.  
  8. include ("include/wyswietl_dane_firmy.php");
  9.  
  10. ?>
  11.  
  12.  
  13.  
  14. </section>
  15.  
  16. <script>
  17.  
  18. function podlicz(){
  19. sztuk = document.getElementById("sztuk").value; //pobiera warto&para;ci z input-a o id="kwota"
  20. k_cena_netto = document.getElementById("k_cena_netto").value;
  21. podatek = document.getElementById("podatek").value;
  22.  
  23. wynikk = sztuk*k_cena_netto; //ooblicza wynik
  24. document.getElementById('wynikk').innerHTML=wynikk; //pobiera warto&para;ć z select-a o id="podatek"
  25.  
  26. wynik = sztuk*k_cena_netto*(podatek/100); //ooblicza wynik
  27. document.getElementById('wynik').innerHTML=wynik; //zapisuje wynik w span-ie o id="wynik"
  28.  
  29. wynikkk = sztuk*k_cena_netto*(1+podatek/100); //ooblicza wynik
  30. document.getElementById('wynikkk').innerHTML=wynikkk;
  31. }
  32. </script>
  33. <script>
  34. <!--
  35. function doit(){
  36. if (!window.print){
  37. alert("Musisz mieć NS4.x lub IE5,\naby użyć przycisku drukowania!")
  38. return
  39. }
  40. window.print()
  41. }
  42. //-->
  43. </script>
  44. <section id="opcje" class="ramka3">
  45. <div id="button">
  46. <a href="java script:doit()" ><img src="gfx/print.gif" border="0"></a>
  47. </div>
  48.  
  49. </section> <?php
  50.  
  51. $wynik = mysql_query('SELECT * FROM produkty')
  52. or die('Błąd zapytania');
  53.  
  54. echo "<form action='dodaj_towar_pz.php' method=post>";
  55.  
  56. function ShowForm($komunikat=""){ //funkcja wyświetlająca formularz dodania towaru
  57. echo "$komunikat<br>";
  58.  
  59. echo "<table boder=\"1\"><tr style=\"cursor: pointer\">";
  60. for($i = 1; $i <=4; $i++) {
  61. echo"<tr>";
  62. echo "<td>Nr produktu </td>";
  63. ECHO "<td>Nazwa </td>";
  64. ?>
  65. <td>Magazyn: </td>
  66. <td>Jednostka: </td>
  67. <td>Ilość </td>
  68.  
  69.  
  70. <td>Cena netto</td>
  71. <td>Wartość netto</td>
  72.  
  73.  
  74. <td>Stawka VAT</td>
  75. <td> Kwota VAT </td>
  76. <td> Wartość brutto </td>
  77. </tr><tr>
  78. <td><input type="text" size="3" name="id_produkt[]"></td>
  79. <td><input type="text" name="nazwa[]"></td>
  80. <td><select name="id_magazyn[]">
  81. <?
  82.  
  83. $res = mysql_query ("SELECT * FROM magazyny ");
  84. while($row = mysql_fetch_array($res))
  85. {
  86.  
  87. $id_magazyn= $row["id_magazyn"];
  88. $nazwa= $row["nazwa"];
  89. ?>
  90. <option value="<? echo "$id_magazyn"; ?>"><? echo " $nazwa ";
  91. ?></option>
  92. <?
  93. }
  94. ?>
  95. </select></td><input type="hidden" name="data" value="<?php echo date("Y-m-d");?>">
  96.  
  97. <td>
  98. <select name="jednostka[]">
  99. <?
  100.  
  101. $res = mysql_query ("SELECT * FROM jednostki ");
  102. while($row = mysql_fetch_array($res))
  103. {
  104.  
  105. $nazwa= $row["nazwa"];
  106.  
  107. ?>
  108. <option value="<? echo "$nazwa"; ?>"><? echo " $nazwa ";
  109. ?></option>
  110. <?
  111. }
  112. ?>
  113. </select></td>
  114.  
  115. <td><input type='text' size='5' id='sztuk[]' name='sztuk[]' value='' onkeyup='podlicz();'></td>
  116.  
  117. <td><input size="5" MAXLENGTH="12" id="k_cena_netto[]" name="k_cena_netto[]" type="text" value="" onkeyup="podlicz();"></td>
  118. <td><span id="wynikk[]"></span></td>
  119. <td><select id="podatek[]" name="k_stawka_vat[]" onchange="podlicz();">
  120. <option VALUE="23">23 %</option>
  121. <option VALUE="7">7 %</option>
  122. <option VALUE="33">33 %</option>
  123. </select></td>
  124. <td><span id="wynik[]" ></span></td>
  125.  
  126. <td>
  127. <span id="wynikkk[]" name="kwota_brutto[]"></span></td>
  128. <?php
  129.  
  130. echo "</tr>";
  131. }
  132. echo "<input type=hidden value='1' name=zapisz>";
  133. echo "<input type=submit value='Potwierdź'>";
  134.  
  135.  
  136.  
  137. echo "</table>";?>
  138.  
  139.  
  140. <table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
  141. <thead>
  142. <tr>
  143. <th style="text-align:center">Dostawca:</th> <th><select name="dostawca">
  144. <?
  145.  
  146. $res = mysql_query ("SELECT * FROM kontrahenci ");
  147. while($row = mysql_fetch_array($res))
  148. {
  149. $firma= $row["nazwa"];
  150. $imie= $row["imie"];
  151. $nazwisko= $row["nazwisko"];
  152. $id_kontrahent= $row["id_kontrahent"];
  153. $ulica= $row["ulica"];
  154. $numer_budynku= $row["numer_budynku"];
  155. $kod_pocztowy= $row["kod_pocztowy"];
  156. $miejscowosc= $row["miejscowosc"];
  157. $nip= $row["nip"];
  158.  
  159. ?>
  160. <option value="<? echo "$firma $imie $nazwisko"; ?>"><? echo " [ $firma ] - $imie $nazwisko ul. $ulica $numer_budynku , $kod_pocztowy $miejscowosc NIP $nip";
  161. ?></option>
  162. <?
  163. }
  164. ?>
  165. </select> </th><th></th><th></th></tr><tr><th style="text-align:center">Przyjął:<input size="15" MAXLENGTH="30" name="przyjal" type="text" value="imię nazwisko"><div id="button"></th>
  166. <th><a href="dodanie_kontrahenta.php"><b>Dodaj kontrahenta </b></a></div></th> <th></th><th></th></tr>
  167. <tr><th style="text-align:center">Data:<input type="" name="data" value="<?php echo date("Y-m-d");?>"></th>
  168. <th style="text-align:center" >Godzina: <?php echo date("H:i:s");?> </th><th></th><th></th></tr>
  169. <tr><th style="text-align:center">Numer dokumentu:</th> <th><input type="text" size="10" name="nr_dok" value="<?php echo date("Y-m"); echo "/";?>"></th><th></th><th></th></tr>
  170.  
  171. <tr><th style="text-align:center">Uwagi: </th><th></th><th></th><th></th></tr><tr><th><textarea cols="20" rows="4" class="form" name="uwagi" ></textarea></th><th></th><th></th><th></th></tr>
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178. <tr><th style="text-align:center">Elementy:</th> </tr>
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188. </thead>
  189.  
  190. <tfoot>
  191.  
  192.  
  193. </tfoot>
  194.  
  195. </table>
  196. <?php
  197. echo "</form>";
  198.  
  199. }
  200.  
  201. if(isset($_POST['zapisz']) && $_POST["zapisz"]==1){
  202.  
  203.  
  204. //dodawanie produktów
  205. $iloscDodanychProduktow = count($_POST['id_produkt']); // zakladam, ze formularz zawiera pola o nazwach Produkt[] oraz pola o nazwach Ilosc[] (tablice wartosci)
  206. $iloscPoszczegolnychProduktow = $_POST['sztuk'];
  207.  
  208. // tutaj zapytanie dodaj&plusmn;ce produkty (kilka na raz - w ilo&para;ci równej $ilosc); - to umiesz zrobić, więc zrobisz sam
  209.  
  210. $zapytanie = 'INSERT INTO produkty VALUES ';
  211. for($i = 0; $i < count($_POST['nazwa']); $i++){
  212. if(empty($_POST['nazwa'][$i])) {//oraz czy uzupełniono wszystkie dane
  213. echo "Pole \"nazwa\" nie może być puste!";
  214.  
  215. }
  216.  
  217.  
  218.  
  219. else{
  220. // je&para;li pola s&plusmn; poprawne, to dodajesz je do zapytania:
  221. $zapytanie .= '("'.$_POST['id_produkt'][$i].'", "'.$_POST['data'][$i].'", "'.$_POST['id_magazyn'][$i].'", "'.$_POST['nazwa'][$i].'" , "'.$_POST['symbol'][$i].'" , "'.$_POST['producent'][$i].'" , "'.$_POST['typ'][$i].'" , "'.$_POST['jednostka'][$i].'" , "'.$_POST['k_cena_netto'][$i].'" , "'.$_POST['k_stawka_vat'][$i].'" , "'.$_POST['k_cena_brutto'][$i].'" , "'.$_POST['marza'][$i].'" , "'.$_POST['cena_netto'][$i].'" , "'.$_POST['stawka_vat'][$i].'" , "'.$_POST['cena_brutto'][$i].'" , "'.$_POST['sztuk'][$i].'" , "'.$_POST['rezerwacja'][$i].'" , "'.$_POST['skladowanie'][$i].'" , "'.$_POST['opis'][$i].'" , "'.$_POST['kody_kreskowe'][$i].'" , "'.$_POST['minimum'][$i].'" , "'.$_POST['waga'][$i].'", "'.$_POST['gwarancja'][$i].'", "'.$_POST['data_waznosci'][$i].'", "'.$_POST['seria'][$i].'", "'.$_POST['dangerous'][$i].'", "'.$_POST['uwagi'][$i].'" )';
  222. if($i != count($_POST['id_produkt']) - 1)
  223. {
  224. $zapytanie .= ', ';
  225. }
  226. }
  227. }
  228.  
  229. if ( mysql_query($zapytanie) ) {
  230. echo "Dodano produkt do tabeli ";
  231. echo "Produkt został poprawnie dodany!<br />";
  232.  
  233.  
  234. //jak skonczysz dodawanie do tabeli 'produkty', to kontynuujesz w ten sposób:
  235.  
  236.  
  237. //dodawanie pz
  238. $lastID = 0;
  239.  
  240. $res = mysql_query("insert into `pz` values('".htmlspecialchars($_POST["id_pz"])."', '".htmlspecialchars($_POST["data"])."','".htmlspecialchars($_POST["nr_dok"])."','".htmlspecialchars($_POST["dostawca"])."','".htmlspecialchars($_POST["przyjal"])."' , '".htmlspecialchars($_POST["uwagi"])."' )"); // zapisywanie rekordu do bazy
  241.  
  242. if($res){ // jesli dodawanie się powiodło
  243. $lastID = mysql_insert_id();
  244. echo"dodano pz";
  245. }
  246. else
  247. {
  248. echo "NIe dodano dokumentu pz!<br/>".mysql_error();
  249. //komunikat o błędzie;
  250. }
  251.  
  252. //dodanie rekordów do tabeli zamowienia_pz
  253. $zamQuery = 'INSERT INTO zamowienia_pz VALUES ';
  254.  
  255. for($j = 0; $j < count($_POST['id_produkt']); $j++)
  256. {
  257. $zamQuery .= '("'.$lastID.'", "'.$_POST['id_produkt'][$j].'", "'.$_POST['sztuk'][$j].'", "'.$_POST['k_cena_netto'][$j].'")';
  258. if($j < count($_POST['id_produkt']) - 1)
  259. {
  260. $zamQuery .= ', ';
  261. }
  262. }
  263.  
  264. if(mysql_query($zamQuery))
  265. {
  266. echo"powodzenie dodania zamowienia_pz";
  267. //komunikat powodzenia;
  268. }
  269. else
  270. {
  271. //komunikat niepowodzenia
  272. echo "Nie dodano zamowienia pz!<br/>".mysql_error();
  273.  
  274. }
  275.  
  276.  
  277. }
  278. else
  279. {
  280. echo "Dodawanie wyników nie powiodło się!<br/>".mysql_error();
  281.  
  282.  
  283.  
  284. }
  285. }
  286. echo ShowForm();
  287.  
  288. ?>
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295. </br>
  296. <br/>
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308. <br><br><br>
  309. <div><span class="prawa">Podpis osoby upoważnionej<br>do odebrania dokumentu pz </span><span class="lewa">Podpis osoby upoważnionej<br>do wystawienia dokumentu pz</span></div>
  310.  
  311.  
  312.  
  313. </div>
  314.  


Wymyśliłem sobie, że wyświetle tabelke zawierająca dane tabeli pz czyli ogolne informacje o dokumencie, zaś obok każego takeigo wpisu odsyłacz o nazwie SZCZEGOŁY. Po naciśnięciu w ten napis powinny się wyświetlać wiersze z tabeli zamowienia_pz spełniające warunek tego samego id_pz co wiersz przy, którym byłby napis smile.gif

Zastosowałbym tu warunek where id_pz=$_GET[row] ale nie potrafie tego skleijć w całość sad.gif
  1. echo "<td>
  2. <a href=\"pz.php?option=delete&row={$row[0]}\">Usuń</a>
  3. <a href=\"pz.php?option=show&row={$row[0]}\">Pokaż</a>
  4.  
  5. </td>";
  6.  
  7.  
  8. if ( $_GET['option']=="show") {
  9. echo "<table border=\"1\" class='tabelka' ><tr >";
  10. echo "<td ><strong>Nr PZ</strong></td>";
  11. echo "<td ><strong>Id produktu</strong></td>";
  12. echo "<td ><strong>ilość przyjęta</strong></td>";
  13. echo "<td ><strong>Cena jednostkowa</strong></td>";
  14. echo"</tr>";
  15. while ( $row = mysql_fetch_row('SELECT * FROM zamowienia_pz where id_pz = $_GET[row]') ) {
  16. echo"<tr>";
  17. echo "<td>" . $row[0] . "</td>";
  18. echo "<td>" . $row[1] . "</td>";
  19. echo "<td >" . $row[2] . "</td>";
  20. echo "<td >" . $row[3] . "</td>";
  21. echo"</tr>"; }
  22. echo "</table>";
  23. return false;
  24.  
  25. }