Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Update problem
Forum PHP.pl > Forum > Przedszkole
maverick22
Witam po raz kolejny dziś z innym problemem

Mam taki testowy formularz do dodawania przepisów do bazy:

  1. <form action="<?= $self; ?>" method="post">
  2.  
  3.  
  4. <tr>
  5. <td>Tytuł:</td>
  6. <td><input type="text" name="title" class="intext" value=""/></td>
  7. </tr>
  8. <tr>
  9. <td>Kategoria:</td>
  10. <td>
  11. <select name="kategoria" class="intext">
  12.  
  13. <option>wybierz</option>
  14. <option>Kanapki</option>
  15. <option>Zapiekanki</option>
  16. <option>Surówki i sałatki</option>
  17. <option>Zupy</option>
  18. <option>Sosy/dipy</option>
  19. <option>Ryby i owoce morza</option>
  20. <option>Mięsa</option>
  21. <option>Warzywa</option>
  22. <option>Grzyby</option>
  23. <option>Mleko, sery, jajka</option>
  24. <option>Mąka, kasze, ryż</option>
  25. <option>Ciasta</option>
  26. <option>Torty</option>
  27. <option>Desery</option>
  28. <option>Koktajle</option>
  29. <option>Przetwory</option>
  30.  
  31. </select>
  32. </td>
  33. </tr>
  34.  
  35. <tr>
  36. <td>Cena:</td>
  37. <td>
  38. <select name="cena" class="intext">
  39. <option>do 10zł</option>
  40. <option>10 - 20zł</option>
  41. <option>20 - 30zł</option>
  42. <option>30 - 40zł</option>
  43. <option>40 - 50zł</option>
  44. <option>50 - 70zł</option>
  45. <option>70 - 100zł</option>
  46. <option>od 100zł</option>
  47. </select>
  48. </td>
  49. </tr>
  50. <tr>
  51. <td>Stopień trudności:</td>
  52. <td>
  53. <select name="st_trudnosci" class="intext">
  54. </select>
  55. </td>
  56. </tr>
  57. <tr>
  58. <td>Czas przygotowania:</td>
  59. <td><input type="text" name="czas" class="intext"/></td>
  60. </tr>
  61.  
  62. </table>
  63. <div class="mcebug">
  64. Składniki:
  65. <textarea name="skladniki" class="admtext"></textarea>
  66. </div>
  67. <div class="mcebug">
  68. Sposób przygotowania:
  69. <textarea name="text" class="admtext"></textarea>
  70. </div>
  71.  
  72. <div class="adminsubmit2">
  73. <input type="submit" name="submit_edit" value="Zapisz" />
  74. </div>
  75.  
  76.  
  77.  
  78. </form>


A to mój kod php:
  1. <?php
  2.  
  3. if(isset($_POST['submit_edit']))
  4. {
  5. if(!empty($title) && !empty($kategoria) && !empty($text) && !empty($czas) && !empty($skladniki))
  6. {
  7. $id = $_GET['id'];
  8.  
  9. include($inc.'sql.php');
  10.  
  11. $query_editprzepis = "UPDATE przepisy SET title='$title', text='$text', skladniki='$skladniki', kategoria='$kategoria', cena='$cena',
  12. st_trudnosci='$st_trudnosci', czas='$czas', data=NOW() WHERE przepisy.id='$id'";
  13. $result = mysqli_query($dbc, $query_editprzepis)
  14. or die(mysqli_error($dbc));
  15. if($result) echo '<span class="greenfont">Rekord został uaktualniony.</span><br/>';
  16. }
  17. else echo '<span class="redfont">Wypełnij wszystkie pola formularza.</span><br/>';
  18. }
  19.  
  20. mysqli_close($dbc);
  21.  
  22.  
  23. ?>


Wszystko sie wykonuje i pokazuje, że niby rekor został uaktualniony jednak tak w rzeczywistości nie jest.
Co robię źle?
nospor
a sprawdzales czy pobrało ci poprawnie $id?
echo 'Moje id'.$id;
?
Masz to zrobić linijkę przed wykonaniem zapytania
maverick22
gdy wstawiam echo 'idprzepisuto:'.$id;
to pokazuje samo idprzepisuto:

nie wiem czemu nie pobiera $id?
<a href="<?= $root.'admin/przepisy/edit.php?id='.$row['id']; ?>">

w przeglądarce: ...przepisy/edit.php?id=6
skarabe.pl
A co masz w zmiennej $self? Zrób echo. Ew. dodaj <input type="hidden" name="id" value="' . $_GET['id'] . '" />
maverick22
$self = $_SERVER['PHP_SELF'];
czyli ..przepisy/edit.php
Maxik
Gdzie wysyłasz ID? Ja nie widzę. Musisz dodać parametr id do action jeśli chcesz go odebrać GETem.
maverick22
Dodałem do action w formularzu
teraz wygląda tak:

  1. <?php
  2.  
  3. $id = $_GET['id'];
  4.  
  5. if(isset($_POST['submit_edit']))
  6. {
  7. if(!empty($title) && !empty($kategoria) && !empty($text) && !empty($czas) && !empty($skladniki))
  8. {
  9.  
  10.  
  11. include($inc.'sql.php');
  12. echo 'MOJEID'.$id;
  13. $result = mysqli_query($dbc, $query_editprzepis)
  14. or die(mysqli_error($dbc));
  15. if($result) echo '<span class="greenfont">Rekord został uaktualniony.</span><br/>';
  16. }
  17. else echo '<span class="redfont">Wypełnij wszystkie pola formularza.</span><br/>';
  18. }
  19.  
  20. mysqli_close($dbc);
  21.  
  22.  
  23. ?>
  24. <?
  25.  
  26. include($inc.'sql.php');
  27.  
  28.  
  29. $query = "SELECT id FROM przepisy where id='$id'";
  30. $result = mysqli_query($dbc, $query);
  31.  
  32. $row = mysqli_fetch_array($result);
  33. ?>
  34. <form action="<?= $root.'admin/przepisy/edit.php?id='.$row['id']; ?>" method="post">
  35. <?
  36. mysqli_close($dbc);
  37.  
  38. ?>



teraz tam gdzie jest echo 'mojeid'.$id;

zwraca MOJEID6

ale zmian nadal nie widać.
skarabe.pl
No bo teraz to sobie usunąłeś $query_editprzepis tongue.gif
maverick22
$query_editprzepis mam zapisane w includowanym pliku vars.php gdzie mam rozne zapytania


  1. $query_addnews = "INSERT INTO news SET title='$title', author='$author', text='$text', date=NOW()";
  2. $query_shownews = "SELECT * FROM news ORDER BY date DESC";
  3. $query_deletenews = "DELETE FROM news WHERE id='$delete_id'";
  4.  
  5. $query_addprzepis = "INSERT INTO przepisy SET title='$title', text='$text', skladniki='$skladniki', kategoria='$kategoria', cena='$cena',
  6. st_trudnosci='$st_trudnosci', czas='$czas', data=NOW()";
  7. $query_showprzepis = "SELECT * FROM przepisy ORDER BY data DESC";
  8. $query_showprzepis_once = "SELECT * FROM przepisy WHERE id = $id ORDER BY data DESC";
  9. $query_deleteprzepis = "DELETE FROM przepisy WHERE id='$delete_id'";
  10. $query_editprzepis = "UPDATE przepisy SET title='$title', text='$text', skladniki='$skladniki', kategoria='$kategoria', cena='$cena',
  11. st_trudnosci='$st_trudnosci', czas='$czas' WHERE przepisy.id='$id'";
  12.  
  13.  
  14. $query_addart = "INSERT INTO artykuly SET title='$title', text='$text', kategoria='$kategoria', data=NOW(), author='$author'";
  15. $query_showart = "SELECT * FROM artykuly ORDER BY data DESC";
  16. $query_showart_once = "SELECT * FROM artykuly WHERE id = $id ORDER BY data DESC";
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.