Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Przycisk zmiany wartości
Forum PHP.pl > Forum > Przedszkole
Bielik
Witam

Jestem w trakcie tworzenia raportu zmianowego dla firmy w której pracuje i utknąłem na momencie gdzie potrzebuje przycisk który zmieni wartość wpisu w bazie danych
Konkretny fragment kodu to
  1. $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) or die ('B3ąd po3ączenia z serwerem MySQL');
  2. $query = "SELECT * FROM prace_wykonane WHERE stan_wykonania = 'Nie Wykonano'";
  3. $result = mysqli_query ($dbc, $query) or die ('B3ąd w zapytaniu do bazy danych.');
  4. while ($row = mysqli_fetch_array($result)) {
  5. if($i%2==0){
  6. echo '<tr class="alt" align="center" valign="middle">';
  7. echo '<td>';
  8. echo $row['lp'];
  9. echo '</td>';
  10. echo '<td>';
  11. echo $row['data'];
  12. echo '</td>';
  13. echo '<td>';
  14. echo $row['tresc'];
  15. echo '</td>';
  16. echo '<td>';
  17. echo $row['stan_wykonania'];
  18. echo '</td>';
  19. echo '<td>';
  20. echo $row['zmiana'];
  21. echo '</td>';
  22. echo '<td>';
  23. echo $row['wpisujacy'];
  24. echo '</td>';
  25. echo '<td>';
  26. echo '<button id="button">Usuń</button>';
  27. echo '</td>';
  28. echo '</tr>';
  29. }
  30. else {
  31. echo '<tr align="center" valign="middle">';
  32. echo '<td>';
  33. echo $row['lp'];
  34. echo '</td>';
  35. echo '<td>';
  36. echo $row['data'];
  37. echo '</td>';
  38. echo '<td>';
  39. echo $row['tresc'];
  40. echo '</td>';
  41. echo '<td>';
  42. echo $row['stan_wykonania'];
  43. echo '</td>';
  44. echo '<td>';
  45. echo $row['zmiana'];
  46. echo '</td>';
  47. echo '<td>';
  48. echo $row['wpisujacy'];
  49. echo '</td>';
  50. echo '<td>';
  51. echo '<button id="button">Usuń</button>';
  52. echo '</td>';
  53. echo '</tr>';
  54. }
  55. }
  56. $i++;
  57. }
  58. mysqli_close ($dbc);
  59. ?>

Chodzi o to że wyświetlana jest tabelka w której są wykonywane wszystkie prace na naszym obiekcie które musi wykonać następna zmiana wpis ten ma tak długo się wyświetlać aż użytkownik nie zatwierdzi zmiany statusu w tym przypadku na "wykonany". Próbowałem z zapytaniem
  1. UPDATE prace_wykonane SET stan_wykonania = 'Wykonano' WHERE lp = '" . $row['lp'] . "'

Ale niestety nie działa, szczerze nie wiem jak dobrze takie zapytanie wprowadzić pod przyciskiem ?
b4rt3kk
Albo użyj ajaxa, albo opakuj każdą linijkę tabelki w <form>...</form> i po przesłaniu takiego forma pobierz odpowiednie dane i dokonaj zapisu w bazie.
teez
  1. $zap = "UPDATE prace_wykonane SET stan_wykonania = 'Wykonano' WHERE lp = '" . $row['lp'] . "'";


Powinno śmigać. Powiem Ci jak ja to zrobiłem u siebie i działa.

1 plik - lista cała, dodajesz kolejną rubrykę np. "Akcja", a w niej

  1. <a href="akcja.php?lp=<? echo $row['lp'] ?>">Wykonane</a>


W pliku akcja.php piszesz :

  1. <?
  2. $zap = "UPDATE prace_wykonane SET stan_wykonania = 'Wykonano' WHERE lp = '" . $GET_['lp'] . "'";
  3. Header ("location: index.php");
  4. ?>
Bielik
Dzięki bardzo za pomoc właśnie takiego czegoś szukałem, sprawdza się bez zarzutu
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.