Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z update
Forum PHP.pl > Forum > PHP
jewel
mam taki maly problem z zapytaniem update....

chodzi o to, ze gdy uzywam tego zapytania, w pewnym momencie nie wiem, skad mam wziasc moje "id_ankiety"...questionmark.gif

oto, jak po kolei wygladaja kody:

tu wybieram tylko id ankiety, ktora chce edytowac:
  1. <?php
  2. <H4>Wybierz id ankiety, ktora chcesz edytowac</H4>
  3. <form action="edycja.php" method="post">
  4. <input type="text" name="edycja">
  5. <input type="submit" value="Edytuj">
  6. ?>



tu wypisuje w tabeli, jak wygladaja dotychczasowe wartosci przy tym rekordzie:
  1. <?php
  2. echo '<form action="edycja2.php" method="post">';
  3. echo '<table border="1">';
  4. echo '<tr><td>id ankiety</td><td>tytul ankiety</td><td>ilosc pytan</td></tr>';
  5.  
  6. $edycja= AddSlashes($_POST['edycja']);
  7. $zapyt1="SELECT `id_ankiety` FROM `ankieta` WHERE `id_ankiety`='$edycja'";
  8. $result1=mysql_query($zapyt1);
  9. $zapyt2="SELECT `tytul_ankiety` FROM `ankieta` WHERE `id_ankiety`='$edycja'";
  10. $result2=mysql_query($zapyt2);
  11. $zapyt3="SELECT `ilosc_pytan` FROM `ankieta` WHERE `id_ankiety`='$edycja'";
  12. $result3=mysql_query($zapyt3);
  13.  
  14. while ($row = mysql_fetch_array($result1, MYSQL_NUM)) {
  15. echo '<TR>';
  16.  foreach ($row as $val) {
  17. echo "<TD> $val </TD> ";
  18.  }
  19. //echo '</TR>';
  20. }
  21.  
  22. while ($row = mysql_fetch_array($result2, MYSQL_NUM)) {
  23. //echo '<TR>';
  24.  foreach ($row as $val) {
  25. echo "<TD> $val </TD> ";
  26.  }
  27. //echo '</TR>';
  28. }
  29.  
  30. while ($row = mysql_fetch_array($result3, MYSQL_NUM)) {
  31. //echo '<TR>';
  32.  foreach ($row as $val) {
  33. echo "<TD> $val </TD> ";
  34.  }
  35. echo '</TR>';
  36. }
  37.  
  38.  
  39. $zapyt4="SELECT `id_ankiety` FROM `ankieta` WHERE `id_ankiety`='$edycja'";
  40. $result4=mysql_query($zapyt4);
  41. while ($row = mysql_fetch_array($result4, MYSQL_NUM)) {
  42. echo '<TR>';
  43.  foreach ($row as $val) {
  44. echo "<TD> $val </TD> ";
  45.  }
  46.  }
  47. echo '<td><input type="text" name="zmien_tytul"></td>';
  48. echo '<td><input type="text" name="zmien_ilosc_pyt"></td></tr>';
  49.  
  50.  
  51. echo '</table>';
  52. echo '<br />';
  53. echo '<input type="hidden" name="id_ankiety" value="' . $_GET['id_ankiety'] . '" />';
  54. echo '<input type="submit" value="Zmien">';
  55. echo '</form>';
  56. ?>




i tutaj probuje zmieniac, z tym ze nie wiem jak wydobyc id_ankiety tutaj... tak, jak mam nie dziala...
a jak zmienie "na sztywno", np na 2, to dziala.... :
  1. <?php
  2. $edycja= AddSlashes($_POST['edycja']);
  3.  
  4. $zapytanie="UPDATE `ankieta` SET `tytul_ankiety`='{$_POST['zmien_tytul']}', `ilosc_pytan`='{$_POST['zmien_ilosc_pyt']}' WHERE `id_ankiety`={$_POST['id_ankiety']}";
  5. $result=mysql_query($zapytanie);
  6.  
  7. print '<p>Tresc zostala zmieniona</p>';
  8. }
  9. else{
  10. print 'Nie mozna zmienic tresci wpisu, poniewaz: ' . mysql_error();
  11. }
  12. ?>
starach
Skoro zapisałeś identyfikator ankiety w polu hidden to powinien on się znaleźć w tablicy $_POST.
Wyświetl dane które otrzymujesz z tablicy post.
echo '<pre>'.print_r($_POST, true).'</pre>';
Jeśli nie będzie wśród nich id_ankiety to błędu powinieneś szukać wyżej.
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.