Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Edycja danych formularzem
Forum PHP.pl > Forum > Przedszkole
smok55453
Witam. Posiadam własną tabelę w bazie danych. Na stronie w php wyświetlam całą tabelę przy pomocy pętli. Gdy użytkownik zmieni coś w kilku komórkach to chcę aby w bazie danych też się ta wartość zmieniła po wysłaniu formularza. Nazwy tych komórek mam generowane przez pętlę pobierającą nazwy kolumn z bazy danych. Po kliknięciu przycisku edytuj przechodzi się do innej podstrony w której ma być skrypt edytujący dane w bazie danych. Jak mam napisać skrypt który te dane zmieni w bazie danych? Nie chcę abyście mi pisali teoretycznie jak to napisać, a bardziej bym prosił o jakiś przykład.
Kshyhoo
A brak przykładów UPDATE w Google?
Przenoszę.
WujekLebek
dokładnie, skorzystaj z UPDATE np. Klik!
smok55453
Dobra przyklady mam ale jak mam to zapisac jezeli nazwy pol sa generowane automatycznie?
Kshyhoo
Jak mamy Ci pomóc bez kodu?
WujekLebek
Cytat(smok55453 @ 9.04.2015, 09:42:21 ) *
Dobra przyklady mam ale jak mam to zapisac jezeli nazwy pol sa generowane automatycznie?


nie rozumiem, skoro masz nazwę tabeli (która się nie zmienia) i stałe ID komórki którą chcesz edytować z tej tabeli to w czym masz problem przy UPDATE? wrzuć kod php dla jasności a

@up, byłeś szybszy :/
smok55453
To jest tak. Mam nazwy komorek ale uzytkownik moze sobie sam dodac lub usunac kilka kolumn. Nazwy ich sa z bazy pobierane automatycznie. Raz tych nazw jest 20 a raz 5. A kod pokazw jak wróce do domu

Oto kod pliku w którym użytkownik ma edytować przepis:
  1. <?php
  2. if (isset($_POST['edytuj_przepis']))
  3. {
  4.  
  5. if(isset($_POST['radio']))
  6. {
  7. echo '<h2>Czy na pewno chcesz usunąć ten przpis? </h2><br>';
  8. $id_radio = $_POST['radio'];
  9.  
  10. //Tworzenie tablicy nazw
  11. $result = mysql_query('select * from przepisy');
  12. if (!$result) {
  13. die('Query failed: ' . mysql_error());
  14. }
  15. else
  16. {
  17.  
  18. }
  19. echo '<table border="1" cellpadding="5" calss="table">';
  20. echo '<tr>';
  21. echo '<form action="index.php?&start=6&wartosc_zmiennej='.$id_radio.'" method="post">';
  22. for ($i=0;$i < mysql_num_fields($result);$i++) {
  23.  
  24. $meta = mysql_fetch_field($result, $i);
  25. $nameArray[$i] = $meta->name;
  26. }
  27. echo '</tr>';
  28. //Koniec tworzenia tablicy nazw
  29. //
  30. //Wyświetlenie wybranego przepisu
  31. echo '<tr>';
  32. $nazwy_pol_dla_selecta = implode(",",$nameArray);
  33. $zapytanie_2 = "SELECT $nazwy_pol_dla_selecta FROM przepisy WHERE ID='$id_radio'";
  34. $idzapytania = mysql_query($zapytanie_2);
  35. while ($wiersz = mysql_fetch_row($idzapytania))
  36. {
  37. $nameArray_0 = str_replace("_", " ", $nameArray[0]);
  38. echo '<td>'.$nameArray_0.':&nbsp;'. $wiersz[0] .'</td>';
  39. for($licz=1;$licz < mysql_num_fields($idzapytania);$licz++)
  40. {
  41. if($licz % 4 ==0)
  42. {
  43. echo '</tr><tr>';
  44. }
  45. else
  46. {
  47. $nameArray_licz = str_replace("_", " ", $nameArray[$licz]);
  48. echo '<td>'.$nameArray_licz.'<br><input type="text" name="'.$nameArray[$licz].'" value="'.$wiersz[$licz].' "></td>';
  49. }
  50. }
  51.  
  52. }
  53. echo '</tr>';
  54. echo '</table>';
  55. }
  56. }
  57. else
  58. {
  59.  
  60. }
  61.  
  62. echo'<br><input type="submit" name="edytuj_przepis_nowy" value="Tak" /></form><br><br><form action="index.php?&start=4" method="post"><input type="submit" name="powrot" value="Nie"/></form>';
  63. echo '';
  64. echo '';
  65.  
  66. ?>


Wybaczcie mi jeżeli będą tam jakieś błędy ale jestem początkującym
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.