Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]edytowanie wpisu mysql problem
Forum PHP.pl > Forum > Przedszkole
tygrys
Witam zrobiłem edycje (pobrałem z forum ) i niedziała mi edycja wpisu tylko działa usun wpis
co jest nei tak?
  1. <?php
  2. // nawiazujemy polaczenie
  3. $connection = @mysql_connect('localhost', 'meade_piwo', 'piwo')
  4. // w przypadku niepowodznie wyświetlamy komunikat
  5. or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
  6. // połączenie nawiązane ;-)
  7. echo "Udało się połączyć z serwerem!<br />";
  8. // nawiązujemy połączenie z bazą danych
  9. $db = @mysql_select_db('meade_piwo', $connection)
  10. // w przypadku niepowodzenia wyświetlamy komunikat
  11. or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error());
  12. // połączenie nawiązane ;-)
  13. echo "Udało się połączyć z bazą dancych!";
  14. /* zapytanie do konkretnej tabeli */
  15. $wynik = mysql_query("SELECT * FROM TOWAR")
  16. or die('Błąd zapytania');
  17. /*
  18. wyświetlamy wyniki, sprawdzamy,
  19. czy zapytanie zwróciło wartość większą od 0
  20. */
  21. if(mysql_num_rows($wynik) > 0) {
  22. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  23. echo "<table cellpadding=\"3\" border=1>";
  24. while($r = mysql_fetch_object($wynik)) {
  25. echo "<tr>";
  26. echo "<td>".$r->nazwa."</td>";
  27. echo "<td>".$r->opis."</td>";
  28. echo "<td>".$r->cena_netto."</td>";
  29. echo "<td>
  30.  
  31. <a href=\"nowy.php?a=del&amp;id={$r->id}\">DEL</a>
  32. <a href=\"nowy.php?a=edit&amp;id={$r->id}\">EDIT</a>
  33. </td>";
  34. echo "</tr>";
  35. }
  36. echo "</table>";
  37.  
  38. }
  39. $a = trim($_GET['a']);
  40. $id = trim($_GET['id']);
  41.  
  42. if($a == 'del' and !empty($id)) {
  43.  
  44. /* usuwamy rekord */
  45. mysql_query("DELETE FROM TOWAR WHERE id='$id'")
  46. or die('Błąd zapytania: '.mysql_error());
  47.  
  48. echo 'Rekord został usunęty z bazy';
  49. }
  50. ?>
tvister
Operacji sql update raczej nie widzę
tygrys
kolego jestem w tym kiepski jak narazie mozesz mi podpowiedziec cos wiecej?
tvister
Aby edytować dane w bd musisz użyć operacji Update np:
  1. UPDATE towar SET wpis='$wpis' WHERE id=$id
tygrys
przyjacielu wstawiłem i niestety nie działa
piotrooo89
to może pokaz jak wstawiłeś...
tygrys
  1. <?php
  2. // nawiazujemy polaczenie
  3. $connection = @mysql_connect('localhost', 'meade_piwo', 'piwo')
  4. // w przypadku niepowodznie wyświetlamy komunikat
  5. or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
  6. // połączenie nawiązane ;-)
  7. echo "Udało się połączyć z serwerem!<br />";
  8. // nawiązujemy połączenie z bazą danych
  9. $db = @mysql_select_db('meade_piwo', $connection)
  10. // w przypadku niepowodzenia wyświetlamy komunikat
  11. or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error());
  12. // połączenie nawiązane ;-)
  13. echo "Udało się połączyć z bazą dancych!";
  14. /* zapytanie do konkretnej tabeli */
  15. $wynik = mysql_query("SELECT * FROM TOWAR")
  16. or die('Błąd zapytania');
  17. /*
  18. wyświetlamy wyniki, sprawdzamy,
  19. czy zapytanie zwróciło wartość większą od 0
  20. */
  21. if(mysql_num_rows($wynik) > 0) {
  22. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  23. echo "<table cellpadding=\"3\" border=1>";
  24. while($r = mysql_fetch_object($wynik)) {
  25. echo "<tr>";
  26. echo "<td>".$r->nazwa."</td>";
  27. echo "<td>".$r->opis."</td>";
  28. echo "<td>".$r->cena_netto."</td>";
  29. echo "<td>
  30.  
  31. <a href=\"nowy.php?a=del&amp;id={$r->id}\">DEL</a>
  32. <a href=\"nowy.php?a=edit&amp;id={$r->id}\">EDIT</a>
  33. </td>";
  34. echo "</tr>";
  35. }
  36. echo "</table>";
  37.  
  38. }
  39. $a = trim($_GET['a']);
  40. $id = trim($_GET['id']);
  41. if ($a == 'edit' and !empty($id)) {
  42.  
  43. /* usuwamy rekord */
  44. mysql_query("UPDATE TOWAR SET nazwa='$a' WHERE id='$id'")
  45. or die('Błąd zapytania: '.mysql_error());
  46.  
  47. echo 'Rekord został edytowany';
  48. }
  49. if($a == 'del' and !empty($id)) {
  50.  
  51. /* usuwamy rekord */
  52. mysql_query("DELETE FROM TOWAR WHERE id='$id'")
  53. or die('Błąd zapytania: '.mysql_error());
  54.  
  55. echo 'Rekord został usunęty z bazy';
  56. }
  57. ?>
nospor
a masz w tabeli TOWAR pole o nazwie WPIS? No nie kopiuj bezmyslnie tylko mysl.... ludzie ci tu podają ogólny schemat, nad którym masz sie odrobine zastanowic a nie bezmyslnie kopiować.

wpis='$a'
Przeciez $a zawierac bedzie tekst 'edit'. Chcesz ustawic w tabeli tekst 'edit'?
piotrooo89
i co mysql_error nic nie wypluwa?
tygrys
wiem wkleiłem stary kod przepraszam smile.gif
pozmieniałem na
  1. if ($a == 'edit' and !empty($id)) {
  2.  
  3. /* usuwamy rekord */
  4. mysql_query("UPDATE TOWAR SET nazwa='$a' WHERE id='$id'")
  5. or die('Błąd zapytania: '.mysql_error());
  6.  
  7. echo 'Rekord został edytowany';


Tylko własnie przez to if wszystko mi zmienia na if jak zrobic zeby zmieniło na inny tekst?
boddah85
Zrobić formularz, do którego na początku będziesz wczytywał dane (dokładnie rzecz ujmując zapewne do pól tekstowych), a następnie wysyłał je metodą post w celu edycji.
tygrys
zmieniłem wszystko
  1. <?php
  2. $zapytanie="SELECT * from TOWAR ORDER BY id desc";
  3. $wykonaj=mysql_query($zapytanie);
  4. while ($pokaz=mysql_fetch_array($wykonaj))
  5. {
  6.  
  7. echo "<br />Tytul: <input type=\"text\" name=\"nazwa\" style=\"width: 200px\" value=" .$pokaz['nazwa']. " /></br>";
  8. echo "<p class=\"posted\"><a href=usun.php?id=".$pokaz['id'].">Usun newsa</a> | <a href=nowy.php?id=".$pokaz['id'].">Aktualizuj newsa</a> </p> ";
  9. echo "</form>";
  10.  
  11. }
  12. $query = "UPDATE TOWAR SET nazwa=$_POST[nazwa] WHERE id = $_GET[id]";
  13. mysql_query($query);
  14.  
  15. echo("<center><b>News zostal zaktualizowany</b>");
  16. echo ("<br /><a href=nowy.php>Powrot</a></center>");
  17. ?>


nadal mam problem z edycją
tvister
Wyświetl co się kryje pod zmienną $query smile.gif
tygrys
kryje się $wykonaj


a stary plik zminiłem
  1. <?php
  2. // nawiazujemy polaczenie
  3. $connection = @mysql_connect('localhost', 'meade_piwo', 'piwo')
  4. // w przypadku niepowodznie wyświetlamy komunikat
  5. or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
  6. // połączenie nawiązane ;-)
  7. echo "Udało się połączyć z serwerem!<br />";
  8. // nawiązujemy połączenie z bazą danych
  9. $db = @mysql_select_db('meade_piwo', $connection)
  10. // w przypadku niepowodzenia wyświetlamy komunikat
  11. or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error());
  12. // połączenie nawiązane ;-)
  13. echo "Udało się połączyć z bazą dancych!";
  14. /* zapytanie do konkretnej tabeli */
  15. $wynik = mysql_query("SELECT * FROM TOWAR")
  16. or die('Błąd zapytania');
  17. /*
  18. wyświetlamy wyniki, sprawdzamy,
  19. czy zapytanie zwróciło wartość większą od 0
  20. */
  21. if(mysql_num_rows($wynik) > 0) {
  22. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  23. echo "<table cellpadding=\"3\" border=1>";
  24. while($r = mysql_fetch_object($wynik)) {
  25. echo "<tr>";
  26. echo "<td>" .$pokaz['nazwa']."".$r->nazwa."<input type=\"nazwa\"></td>";
  27. echo "<td>".$r->opis."</td>";
  28. echo "<td>".$r->cena_netto."</td>";
  29. echo "<td>
  30.  
  31. <a href=\"nowy.php?a=del&amp;id={$r->id}\">DEL</a>
  32. <a href=\"nowy.php?a=edit&amp;id={$r->id}\">EDIT</a>
  33. </td>";
  34. echo "</tr>";
  35. }
  36. echo "</table>";
  37.  
  38. }
  39. $a = trim($_GET['a']);
  40. $id = trim($_GET['id']);
  41.  
  42. if($a == 'edit' and !empty($id)) {
  43. /* zapytanie do tabeli */
  44. $wynik = mysql_query("SELECT * FROM TOWAR WHERE
  45. id='$id'")
  46. or die('Błąd zapytania');
  47. /*
  48.   wyświetlamy wyniki, sprawdzamy,
  49.   czy zapytanie zwróciło wartość większą od 0
  50.   */
  51. if(mysql_num_rows($wynik) > 0) {
  52. /* odczytujemy zawartość wiersza z tabeli */
  53. $r = mysql_fetch_assoc($wynik);
  54. /* wczytujemy dane do formularza */
  55. /*
  56.   w formularz znajdują się ukryte pola "a"
  57.   z wartością "save" i pole "id" z wartością
  58.   zmiennej id
  59.   */
  60. echo '<form action="nowy.php" method="post">
  61. <input type="hidden" name="a" value="save" />
  62. <input type="hidden" name="id" value="'.$id.'" />
  63. imię:<br />
  64. <input type="text" name="nazwa"
  65. value="'.$r['nazwa'].'" /><br />
  66. <input type="submit" value="popraw" />
  67. </form>';
  68. }
  69. }
  70. elseif($a == 'save') {
  71. /* odbieramy zmienne z formularza */
  72. $id = $_POST['id'];
  73. $nazwa = trim($_POST['nazwa']);
  74. /* uaktualniamy tabelę test */
  75. mysql_query("UPDATE TOWAR SET nazwa='$nazwa',
  76. WHERE id='$id'")
  77. or die('Błąd zapytania');
  78. echo 'Dane zostały zaktualizowane';
  79. }
  80. if($a == 'del' and !empty($id)) {
  81.  
  82. /* usuwamy rekord */
  83. mysql_query("DELETE FROM TOWAR WHERE id='$id'")
  84. or die('Błąd zapytania: '.mysql_error());
  85.  
  86. echo 'Rekord został usunęty z bazy';
  87. }
  88. ?>

niestety nie zmienia sie nazwa
boddah85
W 70.linijce zmieniłbym na

  1. elseif($_POST['a'] == 'save')
tygrys
jak zmienie wyskakuje bład
tvister
Jeżeli ten błąd jest związany z sql-em to dlatego że w zapytaniu masz przecinek przed WHERE
tygrys
błedu nie ma
tylko nie zmienia danych
boddah85
To w końcu wyskakuje ten błąd czy nie ?

Zmieniłeś wszystko co ostatnio było podpowiadane?

tygrys
tak pozmieniałem
błedy nie wyskakują lecz dane sie nie zmieniają nadal sad.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.