Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Problem z funkcją UPDATE do SQL
Forum PHP.pl > Forum > Przedszkole
eurosoft
Prosze o pomoc w odnalezieniu błędu w kodzie, zmiany dokonane w formularzu, po wysłaniu nie modyfikują zawartości tabeli
  1. <?php
  2. include 'config.php';
  3. $tabela = 'book';
  4. $tabela1 = 'shott';
  5.  
  6.  
  7. $sql="SELECT id_shot, id_book, animals, ilosc, ilosc_shot FROM $tabela1 WHERE id_book=70";
  8. $res=mysql_query($sql);
  9. $num=mysql_num_rows($res);
  10.  
  11.  
  12.  
  13. if($num>0)
  14.  
  15.  
  16. while($r=mysql_fetch_array($res))
  17. {
  18. <form action="xxx.php" method="post">
  19. <input type="hidden" name="a" value="save" />
  20.  
  21. <td width=40 align=center>'.$r[id_shot].'</td>
  22. <td width=40 align=center>'.$r[id_book].'</td>
  23. <select name="animals">
  24. <option value='.$r[animals].'">'.$r[animals].'</option>
  25. <option value=""></option>
  26. <option value="Koń">Koń</option>
  27. <option value="Papuga">Papuga</option>
  28. <option value="Słoń">Słoń</option>
  29. </select>
  30. <select name="ilosc">
  31. <option value='.$r[ilosc].'">'.$r[ilosc].'</option>
  32. <option value=""></option>
  33. <option value="01:00">01.00</option>
  34. <option value="02:00">02.00</option>
  35. <option value="03:00">03.00</option>
  36. </select>
  37.  
  38. </br></br>
  39.  
  40.  
  41. <input type="submit" value="Aktualizuj dane"/>
  42. </form>';
  43. }
  44.  
  45.  
  46. elseif($a == 'save') {
  47. $animals = $_POST['animals'];
  48. $ilosc = $_POST['ilosc'];
  49.  
  50. mysql_query("UPDATE shott SET animals='$animals', ilosc='$ilosc' WHERE id_shot='.$r[id_shot].'")
  51. or die('Bł&plusmn;d zapytania');
  52. echo 'Zaktualizowano';
  53. }
  54. ?>
  55.  
Wicepsik
Pierwszy warunek $num>0 jest zawsze prawdziwy
  1. if($num>0 and $a!='save')
eurosoft
Poprawiłem, ale niestety nadal nic... sad.gif
  1. <?php
  2. include 'config.php';
  3. $tabela = 'book';
  4. $tabela1 = 'shott';
  5.  
  6.  
  7.  
  8. $sql="SELECT id_shot, id_book, animals, ilosc, ilosc_shot FROM $tabela1 WHERE id_book=70";
  9. $res=mysql_query($sql);
  10. $num=mysql_num_rows($res);
  11.  
  12. if($num>0 and $a!='save'){
  13.  
  14.  
  15.  
  16.  
  17. while($r=mysql_fetch_array($res))
  18. {
  19. <form action="xxx.php" method="post">
  20. <input type="hidden" name="a" value="save" />
  21.  
  22. <td width=40 align=center>'.$r[id_shot].'</td>
  23. <td width=40 align=center>'.$r[id_book].'</td>
  24. <select name="animals">
  25. <option value='.$r[animals].'">'.$r[animals].'</option>
  26. <option value=""></option>
  27. <option value="Koń">Koń</option>
  28. <option value="Papuga">Papuga</option>
  29. <option value="Słoń">Słoń</option>
  30. </select>
  31. <select name="ilosc">
  32. <option value='.$r[ilosc].'">'.$r[ilosc].'</option>
  33. <option value=""></option>
  34. <option value="01:00">01.00</option>
  35. <option value="02:00">02.00</option>
  36. <option value="03:00">03.00</option>
  37. </select>
  38.  
  39. </br></br>
  40.  
  41.  
  42. <input type="submit" value="Aktualizuj dane"/>
  43. </form>';
  44. }
  45. }
  46.  
  47. elseif ($a == 'save') {
  48. $animals = $_POST['animals'];
  49. $ilosc = $_POST['ilosc'];
  50.  
  51.  
  52.  
  53. mysql_query("UPDATE shott SET animals='$animals', ilosc='$ilosc' WHERE id_shot='.$r[id_shot].'")
  54. or die('Bł&plusmn;d zapytania');
  55. echo 'Zaktualizowano';
  56. }
  57.  
  58. ?>
  59.  
naitsabes
mysql_query("UPDATE shott SET animals='$animals', ilosc='$ilosc' WHERE id_shot='.$r[id_shot].'")



po co te kropki ?



<option value='.$r[animals].'">'.$r[animals].'</option>


powinno byc

<option value="'.$r[animals].'">'.$r[animals].'</option>
eurosoft
  1. <?php
  2. include 'config.php';
  3. $tabela = 'book';
  4. $tabela1 = 'shott';
  5.  
  6.  
  7.  
  8. $sql="SELECT id_shot, id_book, animals, ilosc, ilosc_shot FROM $tabela1 WHERE id_book=70";
  9. $res=mysql_query($sql);
  10. $num=mysql_num_rows($res);
  11.  
  12. if($num>0 and $a!='save'){
  13.  
  14.  
  15.  
  16.  
  17. while($r=mysql_fetch_array($res))
  18. {
  19. <form action="xxx.php" method="post">
  20. <input type="hidden" name="a" value="save" />
  21.  
  22. <td width=40 align=center>'.$r[id_shot].'</td>
  23. <td width=40 align=center>'.$r[id_book].'</td>
  24. <select name="animals">
  25. <option value="'.$r[animals].'">'.$r[animals].'</option>
  26. <option value=""></option>
  27. <option value="Koń">Koń</option>
  28. <option value="Papuga">Papuga</option>
  29. <option value="Słoń">Słoń</option>
  30. </select>
  31. <select name="ilosc">
  32. <option value="'.$r[ilosc].'">'.$r[ilosc].'</option>
  33. <option value=""></option>
  34. <option value="01:00">01.00</option>
  35. <option value="02:00">02.00</option>
  36. <option value="03:00">03.00</option>
  37. </select>
  38.  
  39. </br></br>
  40.  
  41.  
  42. <input type="submit" value="Aktualizuj dane"/>
  43. </form>';
  44. }
  45. }
  46.  
  47. elseif ($a == 'save') {
  48. $animals = $_POST['animals'];
  49. $ilosc = $_POST['ilosc'];
  50.  
  51.  
  52.  
  53. mysql_query("UPDATE shott SET animals='$animals', ilosc='$ilosc' WHERE id_shot='$r[id_shot]'")
  54. or die('Bł&plusmn;d zapytania');
  55. echo 'Zaktualizowano';
  56. }
  57.  
  58. ?>
  59.  

poprawiłem i nadal nie zmienia zawartości tabeli, miałem również
mysql_query("UPDATE shott SET animals='$animals', ilosc='$ilosc' WHERE id_shot='.$r[id_shot].'") ale też efekt był marny....

Macie jeszcze jakieś pomysły?
sadistic_son
Nigdzie nie masz przypisania $_POST['a'] do $a. Zmienna $a po prostu nie istnieje więc nigdy nie będzie =='save'. A najlepiej to pozbądź się w ogóle tego hiddena , natomiast nazwij przycisk 'Aktualizuj dane' jakoś np. name="a". Wtedy sprawdzaj poprzez isset czy kliknięto w przycisk.
  1. <?php
  2. include 'config.php';
  3. $tabela = 'book';
  4. $tabela1 = 'shott';
  5.  
  6.  
  7.  
  8. $sql="SELECT id_shot, id_book, animals, ilosc, ilosc_shot FROM $tabela1 WHERE id_book=70";
  9. $res=mysql_query($sql);
  10. $num=mysql_num_rows($res);
  11.  
  12. if($num>0 and !isset($_POST['a'])){
  13.  
  14.  
  15.  
  16.  
  17. while($r=mysql_fetch_array($res))
  18. {
  19. <form action="xxx.php" method="post">
  20.  
  21.  
  22. <td width=40 align=center>'.$r[id_shot].'</td>
  23. <td width=40 align=center>'.$r[id_book].'</td>
  24. <select name="animals">
  25. <option value="'.$r[animals].'">'.$r[animals].'</option>
  26. <option value=""></option>
  27. <option value="Koń">Koń</option>
  28. <option value="Papuga">Papuga</option>
  29. <option value="Słoń">Słoń</option>
  30. </select>
  31. <select name="ilosc">
  32. <option value="'.$r[ilosc].'">'.$r[ilosc].'</option>
  33. <option value=""></option>
  34. <option value="01:00">01.00</option>
  35. <option value="02:00">02.00</option>
  36. <option value="03:00">03.00</option>
  37. </select>
  38.  
  39. </br></br>
  40.  
  41.  
  42. <input type="submit" name="a" value="Aktualizuj dane"/>
  43. </form>';
  44. }
  45. }
  46.  
  47. if (isset($_POST['a'])) {
  48. $animals = $_POST['animals'];
  49. $ilosc = $_POST['ilosc'];
  50.  
  51.  
  52.  
  53. mysql_query("UPDATE shott SET animals='$animals', ilosc='$ilosc' WHERE id_shot='$r[id_shot]'")
  54. or die('Bł&plusmn;d zapytania');
  55. echo 'Zaktualizowano';
  56. }
  57.  
  58. ?>
  59.  
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.