Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Wysyłanie danych z wszystkich elementów klasy do bazy danych
Forum PHP.pl > Forum > Przedszkole
Kishin
Witam

Mam taki problem, tworze kilkadziesiąt formularzy przy pomocy klasy, tutaj kod:

  1. <?php
  2.  
  3. class przyczyna
  4. {
  5. public $value;
  6. public $nazwa;
  7. public $powod;
  8. public $opis;
  9.  
  10.  
  11. function __construct($value)
  12. {
  13.  
  14. $this->value=$value;
  15. $this->form=$this->formularz();
  16.  
  17.  
  18. }
  19.  
  20.  
  21.  
  22. function formularz()
  23. {
  24.  
  25. $this->setvalue();
  26.  
  27. if($this->typ)
  28. {
  29. echo "<form action='' method=".POST.">
  30. <input type='hidden' name='id' value=".$this->value.">
  31. Typ: <input value='".$this->typ."' type=".text." name='typ'>
  32. Opis: <input value='".$this->opis."' type=".text." name='opis'>";
  33. if(!($this->powod==''))
  34. {
  35. Przyczyna:
  36. <select name='powod'>
  37. <option>$this->powod</option>
  38. <option>Pracownik</option>
  39. <option>Maszyna</option>
  40. <option>Materiał</option>
  41. </select>";
  42. }
  43. else
  44. {
  45. Przyczyna:
  46. <select name='powod'>
  47. <option>--</option>
  48. <option>Pracownik</option>
  49. <option>Maszyna</option>
  50. <option>Materiał</option>
  51. </select>";
  52. }
  53.  
  54.  
  55.  
  56. echo "<input type='submit' name='wysylanie' value='Zamień'></form>";
  57. echo '</div>-------------------------------------------------------------<br><br>';
  58.  
  59. }
  60. if(($_SERVER['REQUEST_METHOD'] == 'POST') && isset ($_POST['wysylanie']))
  61. {
  62. include 'polacz.php';
  63.  
  64. $query = mysql_query("UPDATE przyczyna SET wina='".$_POST['powod']."' WHERE id='".$_POST['id']."' ");
  65. header("Location: index2.php?page=edycja.php");
  66. }
  67.  
  68. }
  69.  
  70.  
  71. function setvalue()
  72. {
  73.  
  74. include 'polacz.php';
  75.  
  76. $query = mysql_query("select * from przyczyna where id=$this->value");
  77.  
  78. while($rekord = mysql_fetch_row($query))
  79. {
  80. $this->typ=$rekord[0];
  81. $this->opis=$rekord[1];
  82. $this->powod=$rekord[3];
  83.  
  84. }
  85.  
  86. }
  87.  
  88. }
  89.  
  90.  
  91.  
  92. ?>



No i dobra ładnie tworzy i dopisuje mi do bazy co chce i jak chce, ale trzeba za każdym razem kliknąć na przycisk dotyczący konkretnego formularza co przy sporej ilości elementów staje sie uciązliwe.
Chodzi mi o to aby można było najpierw dokonać zmiany w każdym z formularzy a następnie jednym kliknięciem wysłać wszystko do bazy.
Ma ktoś jakieś pomysły?

tutaj jeszcze kod wypisywania klas

  1. <?php
  2. if ($_SESSION['zalogowany']==0)
  3. include_once 'index.php';
  4. else
  5. {
  6. include_once 'class_przyczyna.php';
  7.  
  8. for($i = 1; $i < 99; $i++)
  9. {
  10.  
  11. $przyczyna[$i]= new przyczyna($i);
  12.  
  13. }
  14. }
  15. ?>
  16.  
CuteOne
Pomijam fakt, że to jakiś mix html+pseudo oop ale dlaczego przy tworzeniu formularza za każdym razem łączysz się z baząquestionmark.gif

Odp. Stwórz jeden formularz gdzie nazwy pól będą miały postać:
  1. for($i=1; $<=99; $i++) {
  2. echo '<select name="s[]">';
  3. //itd
  4. }


odbiór danych
  1. foreach($_POST['s'] as $k => $v) { echo $v; }
Kishin
Dzięki, o to mi chodziło wink.gif

Czułem że przekombinowałem z tą klasą a z tym ciągłym łączeniem sie do bazy to już zupełnie bez sensu tongue.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.