Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Edytowanie danych z formularza
Forum PHP.pl > Forum > PHP
Czesław
  1. echo '<br><br><b><center>Biezace komunikaty: </b></center>';
  2.  
  3. $zapytanie = "SELECT * FROM `Komunikat`";
  4. $wynik = mysql_query($zapytanie);
  5. $ilosc = mysql_num_rows($wynik);
  6. for ($i=0; $i<$ilosc; $i++)
  7. {
  8. $see = mysql_fetch_array($wynik);
  9. $tresc = $see['Komunikat_Tresc'];
  10. $nr = $see['ID_Komunikat'];
  11. echo "<center><form method=\"post\" action=\"admin-komunikaty.php\">
  12. <input type=\"text\" name=\"tresc_zm\" value=\"$tresc\" />
  13. <input type=\"text\" name=\"nr_zm\" value=\"$nr\" />
  14. <input type=\"submit\" value=\"Zmien\" /><br><br></center>";
  15. }
  16.  
  17. if ($_POST['tresc_zm']) {
  18.  
  19. $tresc_zm = $_POST['tresc_zm'];
  20. $tresc_zm = htmlspecialchars("$tresc_zm", ENT_QUOTES);
  21. $nr_zm = $_POST['nr_zm'];
  22. $nr_zm = htmlspecialchars("$nr_zm", ENT_QUOTES);
  23.  
  24.  
  25.  
  26. $tresc_zm = mysql_real_escape_string($tresc_zm);
  27. $nr_zm = mysql_real_escape_string($nr_zm);
  28. $zapytanie= "UPDATE `Komunikat` set Komunikat_Tresc='$tresc_zm' where ID_Komunikat='$nr_zm'";
  29. $wynik = mysql_query($zapytanie);
  30. echo "Komunikaty zostały zmienione poprawnie.";
  31. }


Ten kod działa, nie wyskakuje żaden błąd ale edytowac dzięki niemu można tylko ostatni komunikat, wcześniejszych się nie da. Jest ktoś w stanie mi powiedziec dlaczego??

Z góry dziękuje!!
MateuszS
mysql_fetch_array uzywaj w petli while a nie for
Czesław
A mógłbyś podpowiedziec jak to zrobic??

Bo siedzę nad tym i zastanawiam się że nie wyrzuca żadnego błędu a nadal tylko ten ostatnio komunikat można edytowac, czemu nie ma dostępu do poprzedzających go??
PiotrekM
  1. while($row = mysql_fetch_assoc($wynik)) {
  2. echo $row['Komunikat_Tresc'];
  3. }
Czesław
Chyba dziś za długo siedzę już przy tym komputerze, ale niestety nadal nie rozumiem, gdzie i co mam zmienic....
MateuszS
  1. echo '<br><br><b><center>Biezace komunikaty: </b></center>';
  2.  
  3. $zapytanie = "SELECT * FROM `Komunikat`";
  4. $wynik = mysql_query($zapytanie);
  5. $ilosc = mysql_num_rows($wynik);
  6.  
  7. while($row = mysql_fetch_assoc($wynik)) {
  8. //tutaj sobie dopisz ten formularz
  9. }
  10.  
  11. if ($_POST['tresc_zm']) {
  12.  
  13. $tresc_zm = $_POST['tresc_zm'];
  14. $tresc_zm = htmlspecialchars("$tresc_zm", ENT_QUOTES);
  15. $nr_zm = $_POST['nr_zm'];
  16. $nr_zm = htmlspecialchars("$nr_zm", ENT_QUOTES);
  17.  
  18.  
  19.  
  20. $tresc_zm = mysql_real_escape_string($tresc_zm);
  21. $nr_zm = mysql_real_escape_string($nr_zm);
  22. $zapytanie= "UPDATE `Komunikat` set Komunikat_Tresc='$tresc_zm' where ID_Komunikat='$nr_zm'";
  23. $wynik = mysql_query($zapytanie);
  24. echo "Komunikaty zostały zmienione poprawnie.";
  25. }
Czesław
  1. echo '<br><br><b><center>Biezace komunikaty: </b></center>';
  2.  
  3. $zapytanie = "SELECT * FROM `Komunikat`";
  4. $wynik = mysql_query($zapytanie);
  5. $ilosc = mysql_num_rows($wynik);
  6.  
  7. while($row = mysql_fetch_assoc($wynik)) {
  8.  
  9.  
  10. $tresc = $row['Komunikat_Tresc'];
  11. $nr = $row['ID_Komunikat'];
  12.  
  13.  
  14. echo "<center><form method=\"post\" action=\"admin-komunikaty.php\">
  15. <input type=\"text\" name=\"tresc_zm\" value=\"$tresc\" />
  16. <input type=\"text\" name=\"nr_zm\" value=\"$nr\" />
  17. <input type=\"submit\" value=\"Zmien\" /><br><br></center>";
  18. }
  19.  
  20. if ($_POST['tresc_zm']) {
  21.  
  22. $tresc_zm = $_POST['tresc_zm'];
  23. $tresc_zm = htmlspecialchars("$tresc_zm", ENT_QUOTES);
  24. $nr_zm = $_POST['$nr_zm'];
  25. $nr_zm = htmlspecialchars("$nr_zm", ENT_QUOTES);
  26.  
  27.  
  28.  
  29. $tresc_zm = mysql_real_escape_string($tresc_zm);
  30. $nr_zm = mysql_real_escape_string($nr_zm);
  31. $zapytanie= "UPDATE `Komunikat` set Komunikat_Tresc='$tresc_zm' where ID_Komunikat='$nr_zm'";
  32. $wynik = mysql_query($zapytanie);
  33.  
  34. echo "Komunikaty zostały zmienione poprawnie.";
  35. }


W ten sposób??

W tej chwili nie edytuje danych wcale, nawet tego ostatniego komunikatu który przy pierwotnej wersji kodu edytował się ;/
MateuszS
dodaj do form atrybut name o wartosci $nr

Ale i tak nawet nie wiem do czego ci trzeba tyle formularzy
Czesław
Bo tak szczerze problem jest w tym że ja nie jestem specem od php/sql itp. Mam do zrobienia taki projekt i się z tym męczę chociaż wcale nie mam na to ochoty ;/

Panel do edycji danych napisałem na podstawie jakiegoś znalezionego na stronie internetowej i w dodatku nie działa ;(.

Masz jakiś łatwiejszy sposób zrobienia takiej edycji danych?? Taki łopatologiczny tongue.gif
MateuszS
Nie napisze ci gotowego panelu, chyba ze za kase... (tak, jestem materialistą)... polecam szybki kurs PHP, bo po 1. nawet nie napisałeś co chcesz zrobić, dałeś jakiś kod i on ci nie działa, ale co ma robić nie wiemy, a 2. coś czuje że nawet ci się nie chce poszperać w necie 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.