Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Update konkretnego rekordu z bazy danych
Forum PHP.pl > Forum > Bazy danych > MySQL
adams1692
Witam,

Mam pewien problem z edycją rekordu z bazy MySQL. Chodzi o to że teoretycznie kod jest dobry nie wywala błędów jednak wyskakuje komunikat o nie wypełnieniu pól poniżej daję kod:
  1. <?php
  2. $result = dbquery("SELECT nazwa, ostatni, zolta, czerwona, info, klub, zdjecie FROM edycja_sklad WHERE id='1'");
  3. $data = mysql_fetch_assoc($result);
  4. ?>
  5.  
  6.  
  7. <form method="POST" action="/viewpage.php?page_id=228">
  8.  
  9. <input type="text" class="textbox" name="nazwa" value="<?php
  10. echo $data['nazwa'];
  11. ?>"><br />
  12. <input type="text" class="textbox" name="ostatni" value="<?php
  13. echo $data['ostatni'];
  14. ?>"><br />
  15. <input type="text" class="textbox" name="zolta" value="<?php
  16. echo $data['zolta'];
  17. ?>"><br />
  18. <input type="text" class="textbox" name="czerwona" value="<?php
  19. echo $data['czerwona'];
  20. ?>"><br />
  21. <input type="text" class="textbox" name="info" value="<?php
  22. echo $data['info'];
  23. ?>"><br />
  24. <input type="text" class="textbox" name="klub" value="<?php
  25. echo $data['klub'];
  26. ?>"><br />
  27. <input type="text" class="textbox" name="zdjecie" value="<?php
  28. echo $data['zdjecie'];
  29. ?>"><br />
  30.  
  31.  
  32. <br><br><center><input class="button" type="submit" name="go" value="Wyślij"></center>
  33. </form>
  34.  
  35.  
  36. <?php
  37.  
  38.  
  39. if(isset($_POST['go'])){ // sprawdzamy czy kliknięto na przycisk do wysyłania formularza.
  40.  
  41. if(!empty($_POST['nazwa']) && !empty($_POST['ostatni']) && !empty($_POST['zolta']) && !empty($_POST['czerwona']) && !empty($_POST['info']) && !empty($_POST['klub']) && !empty($_POST['zdjecie'])){ // sprawdzamy czy zostały wypełnione wszystkie pola
  42.  
  43.  
  44.  
  45. $zapytanie = "UPDATE edycja_sklad SET nazwa='$nazwa', ostatni='$ostatni', zolta='$zolta', czerwona='$czerwona', info='$info', klub='klub', zdjecie='$zdjecie' WHERE id='1'";
  46. $wykonaj = dbquery ($zapytanie); // dodajemy rekord do bazy
  47.  
  48. if($wykonaj == 'TRUE'){
  49.  
  50. echo '<br><center><strong>Zaktualizowano</strong></center>'; // wyświetlamy komunikat o poprawnym dodaniu rekordu do bazy
  51.  
  52. }
  53.  
  54. } else {
  55.  
  56. echo '<br><center><strong>Nie wypełniłeś wszystkich pól!</strong></center>'; // wyświetlamy komunikat o błędnym wypełnieniu formularza
  57.  
  58. }
  59.  
  60. }
  61.  
  62. ?>


I moje pytanie gdzie leży problem? Kod jest używany w PHP-Fusion.
_Borys_
Nie przypisujesz danych z $_POST do zmiennych a wrzucasz zmienne do bazy. Dziwne,że błędu nie wywala.
kamil212
@up

To tak trudno pokazać jak powinno wyglądać prawidłowe zapytanie? Tak, rozumiem, że niektórzy chcą zarobić na programowaniu, ale tu wystarczy tylko napisać jedną linijkę.

Co do tematu, ja dałbym tak:

  1. $zapytanie = "UPDATE edycja_sklad SET nazwa='".$_POST['nazwa']."', ostatni='".$_POST['ostatni']."', zolta='".$_POST['zolta']."', czerwona='".$_POST['czerwona']."', info='".$_POST['info']."', klub='".$_POST['klub']."', zdjecie='".$_POST['zdjecie']."' WHERE id='1'";


Sądzę, że dobrze.
adams1692
Próbowałem też takiego kodu i jest to samo:
  1. <?php
  2. $result = dbquery("SELECT nazwa, ostatni, zolta, czerwona, info, klub, zdjecie FROM edycja_sklad WHERE id='1'");
  3. $data = mysql_fetch_assoc($result);
  4. ?>
  5.  
  6.  
  7. <form method="POST" action="/viewpage.php?page_id=228">
  8.  
  9. <input type="text" class="textbox" name="nazwa" value="<?php
  10. echo $data['nazwa'];
  11. ?>"><br />
  12. <input type="text" class="textbox" name="ostatni" value="<?php
  13. echo $data['ostatni'];
  14. ?>"><br />
  15. <input type="text" class="textbox" name="zolta" value="<?php
  16. echo $data['zolta'];
  17. ?>"><br />
  18. <input type="text" class="textbox" name="czerwona" value="<?php
  19. echo $data['czerwona'];
  20. ?>"><br />
  21. <input type="text" class="textbox" name="info" value="<?php
  22. echo $data['info'];
  23. ?>"><br />
  24. <input type="text" class="textbox" name="klub" value="<?php
  25. echo $data['klub'];
  26. ?>"><br />
  27. <input type="text" class="textbox" name="zdjecie" value="<?php
  28. echo $data['zdjecie'];
  29. ?>"><br />
  30.  
  31.  
  32. <br><br><center><input class="button" type="submit" name="go" value="Wyślij"></center>
  33. </form>
  34.  
  35.  
  36. <?php
  37.  
  38.  
  39. if(isset($_POST['go'])){ // sprawdzamy czy kliknięto na przycisk do wysyłania formularza.
  40.  
  41. if(!empty($nazwa) and !empty($ostatni) and !empty($zolta) and !empty($czerwona) and !empty($info) and !empty($klub) and !empty($zdjecie)){ // sprawdzamy czy zostały wypełnione wszystkie pola
  42.  
  43.  
  44.  
  45. $zapytanie = "UPDATE edycja_sklad SET nazwa='$nazwa', ostatni='$ostatni', zolta='$zolta', czerwona='$czerwona', info='$info', klub='klub', zdjecie='$zdjecie' WHERE id='1'";
  46. $wykonaj = dbquery ($zapytanie); // dodajemy rekord do bazy
  47.  
  48. if($wykonaj == 'TRUE'){
  49.  
  50. echo '<br><center><strong>Zaktualizowano</strong></center>'; // wyświetlamy komunikat o poprawnym dodaniu rekordu do bazy
  51.  
  52. }
  53.  
  54. } else {
  55.  
  56. echo '<br><center><strong>Nie wypełniłeś wszystkich pól!</strong></center>'; // wyświetlamy komunikat o błędnym wypełnieniu formularza
  57.  
  58. }
  59.  
  60. }
  61.  
  62. ?>


A jeżeli chodzi o to:
Cytat
Nie przypisujesz danych z $_POST do zmiennych a wrzucasz zmienne do bazy. Dziwne,że błędu nie wywala.


Co mam dokładnie zrobić?

Cytat(kamil212 @ 4.04.2013, 19:46:44 ) *
@up

To tak trudno pokazać jak powinno wyglądać prawidłowe zapytanie? Tak, rozumiem, że niektórzy chcą zarobić na programowaniu, ale tu wystarczy tylko napisać jedną linijkę.

Co do tematu, ja dałbym tak:

  1. $zapytanie = "UPDATE edycja_sklad SET nazwa='".$_POST['nazwa']."', ostatni='".$_POST['ostatni']."', zolta='".$_POST['zolta']."', czerwona='".$_POST['czerwona']."', info='".$_POST['info']."', klub='".$_POST['klub']."', zdjecie='".$_POST['zdjecie']."' WHERE id='1'";


Sądzę, że dobrze.



Nic z tego też nie działa. Dane pobiera z bazy danych jednak nie chce się zapisać.
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.