Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Update rekordów przez formularz - inny problem
Forum PHP.pl > Forum > PHP
green747
Witajcie
Założyłem nowy temat bo i problem nieco inny.
Po rozwiązaniu problemu z update'm wielu rekordów, pojawił się taki:
Po wciśnięciu przycisku AKTUALIZUJ, który powoduje przeładowanie formularza rekordy w bazie się zmieniają - i tak
ma być smile.gif - ale lista rekordów do aktualizacji się nie zmienia. Dopiero po odświeżeniu strony wylatują - przeglądarka IE
kod wygląda tak:

  1. <?php
  2.  
  3. echo "
  4.  
  5. <FORM action='./index.php?page=zlecenia_list&".SESID."' method='post'>
  6. <INPUT type='hidden' name='page' value='zlecenia_list' style='display:inline;'>
  7. <INPUT type='hidden' name='login' value='".$_SESSION['USER_LOGIN']."'>
  8. <INPUT type='hidden' name='".SESSION_NAME()."' value='".SESSION_ID()."'>
  9.  
  10. ";
  11.  
  12. $zapytanie_dec = "SELECT DISTINCT
  13. obiekty.nazwa_funkcjonalna as nazwa_fun, 
  14. decyzje.nr_decyzji as nr_decyzji, 
  15. decyzje.data_decyzji as data_decyzji, 
  16. decyzje.aktualna as aktualna, 
  17. platnosci.oplata as oplata, 
  18. platnosci.data_platnosci as data_plat, 
  19. platnosci.nr_zlecenia as nr_zlec,
  20. platnosci.ID_platnosci as id_plat
  21.  
  22. FROM (obiekty LEFT JOIN decyzje ON obiekty.ID_obiektu = decyzje.ID_obiektu) LEFT JOIN platnosci ON decyzje.ID_decyzji = platnosci.ID_decyzji
  23.  
  24. WHERE platnosci.nr_zlecenia = '' and platnosci.status_zaplaty='NIE'
  25.  
  26. ORDER BY data_decyzji ASC";
  27.  
  28.  
  29. $pobieranie_dec = mysql_query($zapytanie_dec);
  30.  
  31. <table bgcolor='#eeeeee' BORDER=0 cellpadding=0 cellspacing=0 align=left>
  32. <tr>
  33.  <td class=wyniki_r width=150 height=25 align=center>Nr decyzji</td>
  34.  <td class=wyniki_r width=120 height=25 align=center>Data wydania</td>
  35.  <td class=wyniki_r width=150 height=25 align=center>Nazwa FUN</td>
  36.  <td class=wyniki_r width=100 height=25 align=center>Data płatn.</td>
  37.  <td class=wyniki_r width=80 height=25 align=center>Wartość</td>
  38.  <td class=wyniki_r width=99 height=25 align=center>Nr zlecenia</td>
  39.  <td class=wyniki_r width=20 height=25 align=center>ST</td>
  40.  <td width=1></td>
  41. </tr>
  42. ";
  43.  
  44. while ($wiersz_dec = mysql_fetch_array($pobieranie_dec))
  45. {
  46.  
  47. $ID[] = $wiersz_dec[id_plat];
  48.  
  49. <tr>
  50.  <td class=wyniki_rB width=150 height=25 align=right>".$wiersz_dec[nr_decyzji]."&nbsp&nbsp</td>
  51.  <td class=wyniki_rB width=120 height=25 align=center>".$wiersz_dec[data_decyzji]."</td>
  52.  <td class=wyniki_rB width=150 height=25 align=center>".$wiersz_dec[nazwa_fun]."</td>
  53.  <td class=wyniki_rB width=100 height=25 align=center>".$wiersz_dec[data_plat]."&nbsp</td>
  54.  <td class=wyniki_rB width=80 height=25 align=right>".$wiersz_dec[oplata]."&nbsp&nbsp&nbsp</td>
  55.  <td class=wyniki_rB width=99 height=25 align=center>
  56. <input type='text' name='nr_zlec[]' size='10' value='' class='form15x' >
  57.  </td>
  58.  <td class=wyniki_rB width=20 height=25 align=center>".$wiersz_dec[aktualna]."</td>
  59.  <td width=1></td>
  60. </tr>
  61. ";
  62.  
  63. }
  64.  
  65. echo "
  66. <tr>
  67.  <td class=wyniki_r width=150 height=25 align=center>&nbsp</td>
  68.  <td class=wyniki_r width=120 height=25 align=center>&nbsp</td>
  69.  <td class=wyniki_r width=150 height=25 align=center>&nbsp</td>
  70.  <td class=wyniki_r width=100 height=25 align=center>&nbsp</td>
  71.  <td class=wyniki_r width=80 height=25 align=center>&nbsp</td>
  72.  <td class=wyniki_r width=99 height=25 align=center>
  73. <input type='submit' name='dodaj' VALUE='Aktualizuj'>
  74.  </td>
  75.  <td class=wyniki_r width=20 height=25 align=center>&nbsp</td>
  76.  <td width=1></td>
  77. </tr>
  78.  
  79.  
  80. </table>";
  81.  
  82.  
  83. if($dodaj=="Aktualizuj")
  84. {
  85. unset($dodaj);
  86. for( $x = 0; $x < count($ID); $x++ )
  87. {
  88. $zapytanie="update platnosci set nr_zlecenia='".$nr_zlec[$x]."' where ID_platnosci=".$ID[$x];
  89. mysql_query($zapytanie);
  90. }
  91. }
  92.  
  93. echo "</form>";
  94.  
  95. ?>
ave
  1. <?php
  2. if($dodaj=="Aktualizuj")
  3. {
  4. unset($dodaj);
  5. for( $x = 0; $x < count($ID); $x++ )
  6. {
  7. $zapytanie="update platnosci set nr_zlecenia='".$nr_zlec[$x]."' where ID_platnosci=".$ID[$x];
  8. mysql_query($zapytanie);
  9. }
  10. }
  11. ?>


przenies na poczatek skryptu. tak zeby zmiany zostaly wsadzone przed wyciagnieciem ich.

i korzystaj z $_POST['dodaj'] zamiast $dodaj
green747
hmm... próbowałem - nic się nie zmienia sadsmiley02.gif
ave
a no niedziala bo przy przy pokazywaniu ich zliczasz ile ID
  1. <?php
  2. $ID[] = $wiersz_dec[id_plat];
  3. ?>


wogole to nie za przyjemny ten kod ale nie wchodzac w szczegóły przeladuj sobie strone po wykonaniu aktualizacji
  1. <?php
  2. header('Location: skrypt.php');
  3. ?>

i dodaj buforowanie
  1. <?php
  2. ?>
na poczatek skryptu przed wyslaniem czego kolwiek na ekran
i
  1. <?php
  2. ?>
na koniec
green747
sadsmiley02.gif i nadal nic...
  1. <?php
  2.  
  3. header('Location: skrypt.php');
  4.  
  5. ?>


z tym jest problem moj skrypt jest includowany. sadsmiley02.gif

co do
  1. <?php
  2. $ID[] = $wiersz_dec[id_plat];
  3. ?>

to muszę mieć w tej pętli aby zbierać dane identyfikatora do późniejszego update
konkretnego rekordu.

"wogole to nie za przyjemny ten kod ale nie wchodzac w szczegóły " - powiedz dlaczego.
qrcze , a może moje rozwiązanie jest całe do kitu, może trzeba do tego inaczej podejść questionmark.gif

PROSZ O POMOC
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.