Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Kilka formularzy zapisanych do bazy
alien69
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 25.05.2009

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


Witam.
Na początku zaznaczę że to mój pierwszy post (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Mam problem z wprowadzaniem danych z formularza do bazy.
Mam taki kod, który wyświetla mi wszystkie dostępne towary w magazynie. Jego celem ma być wysłanie danych o towarach zakupionych.
Ponieważ w bazie jest więcej niż jeden towar(rekord) czy jest możliwość jakiejś pętli czy czegoś aby każdy rekord z wpisaną wartością ilosc_s został zapisany do innej bazy? Zaznaczam że wprowadzenie metodą $_POST dla jednego rekordu (dodanie towaru do bazy) udało mi się wykonać. Natomiast mam problem z wieloma rekordami

  1. <?php
  2.  
  3. $connection = @mysql_connect(localhost,root,dex)
  4.  
  5. or die ('brak polaczenia');
  6. $db = @mysql_select_db('Sklep',$connection)
  7. or die ('brak polaczenia');
  8. $wynik = mysql_query("SELECT * FROM magazyn ORDER BY nazwa")
  9. or die('błąd zapytania');
  10. echo "<table cellpandding=\"2\" border=1>";
  11. echo "<tr>";
  12. echo   "<td width='120'>nazwa</td>";
  13. echo    "<td width='40'>ilosc</td>";
  14. echo    "<td width='50'>cena_n</td>";
  15. echo    "<td width='50'>cena_b</td>";
  16. echo  "</tr>";
  17. echo "</table>";
  18. if(mysql_num_rows($wynik) > 0) {
  19. echo "<table border=1>";
  20. while($r = mysql_fetch_array($wynik)) {
  21. echo "<tr>";
  22. echo ('<form action="kup.php" method="post">');
  23. echo ('<td width="120"><input type="text" value="'.$r[1].'" name="nazwa" />  </td>');
  24. echo ('<td width="120"><input type="text" value="'.$r[2].'" name="ilosc" /> </td>');
  25. echo ('<td width="120"><input type="text" value="'.$r[3].'" name="cena_n" />  </td>');
  26. echo ('<td width="120"><input type="text" value="'.$r[4].'" name="cena_b" />  </td>');
  27. echo ('<td width="50"><input type="text" value="ilość" name="ilosc_s" />  </td>');
  28. echo "</tr>";
  29. }
  30. echo "</table>";
  31.  
  32.  
  33. echo "<br />";
  34. echo ('<input type="submit" value="dodaj" />');
  35. mysql_close($connection);
  36. }
  37. ?>

Z góry dziękuję za wszelkie sugestie
Krytykę przyjmuję ze skuchą (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

W takiej postaci do bazy zostaje dodany tylko ostatni rekord.
Czyli trzeba zastosować jakiś sposób numeracji pól.
No to mam zagwozdkę.

Ten post edytował alien69 26.05.2009, 18:00:27
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
alien69
post
Post #2





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 25.05.2009

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


Dla potomności załączam działający kod

  1. <?php
  2.  
  3. $connection = @mysql_connect(localhost,root,dex)
  4.  
  5. or die ('brak polaczenia');
  6. $db = @mysql_select_db('Sklep',$connection)
  7. or die ('brak polaczenia');
  8. $wynik = mysql_query("SELECT * FROM magazyn ORDER BY nazwa")
  9. or die('błąd zapytania');
  10. echo "<table cellpandding=\"2\" border=1>";
  11. echo "<tr>";
  12. echo   "<td width='150'>nazwa</td>";
  13. echo    "<td width='150'>ilosc</td>";
  14. echo    "<td width='150'>cena_n</td>";
  15. echo    "<td width='150'>cena_b</td>";
  16. echo    "<td width='150'>sztuk</td>";
  17. echo  "</tr>";
  18. echo "</table>";
  19. if(mysql_num_rows($wynik) > 0) {
  20. echo "<table border=1>";
  21. while($r = mysql_fetch_array($wynik)) {
  22. echo "<tr>";
  23. echo ('<form action="kup.php" method="post">');
  24. echo ('<td width="120"><input type="text" value="'.$r[1].'" name="nazwa" />  </td>');
  25. echo ('<td width="40"><input type="text" value="'.$r[2].'" name="ilosc" /> </td>');
  26. echo ('<td width="50"><input type="text" value="'.$r[3].'" name="cena_n" />  </td>');
  27. echo ('<td width="50"><input type="text" value="'.$r[4].'" name="cena_b" />  </td>');
  28. echo ('<td width="50"><input type="text"  name="ilosc_s" />  </td>');
  29.  
  30. echo ('<td width="50"><input type="submit" value="Kup" /></form> </td>');
  31. echo "</tr>";
  32. }
  33. echo "</table>";
  34.  
  35.  
  36. echo "<br />";
  37.  
  38. mysql_close($connection);
  39. }
  40. ?>


oraz kup.php

  1. <?php
  2. $nazwa = $_POST['nazwa'];
  3. $cena_n = $_POST['cena_n'];
  4. $cena_b = $_POST['cena_b'];
  5. $ilosc_s = $_POST['ilosc_s'];
  6. if ($nazwa and $ilosc and $cena_n and $cena_b)
  7. {
  8. $connection = @mysql_connect(localhost,root,dex)
  9.  
  10. or die ('brak polaczenia');
  11. $db = @mysql_select_db('Sklep',$connection)
  12. or die ('brak polaczenia');
  13.  
  14. $ins = @mysql_query("INSERT INTO sprzedarz SET nazwa='$nazwa',ilosc='$ilosc_s',cena_netto='$cena_n',cena_brutto='$cena_b'");
  15. if($ins) echo "rekord dodany";
  16. else echo "błąd dodawania";
  17. mysql_close($connection);
  18. }
  19. header("Location: <a href=\"http://localhost/Sklep/test2.php");&#092;" target=\"_blank\">http://localhost/Sklep/test2.php");</a>
  20. ?>


ładnie dodaje towar do listy sprzedanych i wraca do list towarów
Teraz popracuje nad detalami (odejmowanie kupionego towaru od stanu magazynu itp.)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 12:17