Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: UPDATE - edycja wybranego rekordu
Forum PHP.pl > Forum > Przedszkole
funky_beat
Witam,
walcze już tydzień bez przerwy z edycją wybranego rekordu i doszedłem do wnisku, że ginie mi gdzieś w skrypcie zmienna '$IDspedytora'. Stworzyłem tabelę o nazwie 'spedytorzy' z trzema kolumnami: 'IDspedytora' - int, 'NazwaFirmy' - varchar, 'Telefon' - varchar.

Do podanego niżej skryptu przekazywana jest wartość IDspedytora za pomocą adresu URL:
  1. <a href="edytuj_spedytora.php?id='.$row[IDspedytora].'">Edytuj</a>

wartość z kolumny IDspedytora do zapytania SELECT jest przekazywana poprawnie ale już w zapytaniu UPDATE wartość ta znika.
Może ktoś z Was będzie wiedział jak przerobić ten skryp żeby działał poprawnie?


  1. <?php
  2. include "baza.php";
  3. $IDspedytora = intval($_REQUEST['id']);
  4. ?>
  5. <html>
  6. <head>
  7. </head>
  8. <body>
  9. <h3>Aktualizacja danych o spedytorze</h3>
  10.  
  11. <?php
  12. if (isset($_POST['submit'])) {
  13. $nf = $_POST['NazwaFirmy'];
  14. $t = $_POST['Telefon'];
  15. echo $nf, $t, $IDspedytora;
  16.  
  17.  
  18. $query_update = "UPDATE spedytorzy SET NazwaFirmy = '" . $_POST['NazwaFirmy'] . "', Telefon = '" . $_POST['Telefon'] . "' WHERE IDspedytora = '" . $_REQUEST['id'] . "'";
  19. $result_update = mysql_query($query_update)
  20. or die(mysql_error());
  21.  
  22. $query = "SELECT * FROM spedytorzy WHERE IDspedytora = '" . $_REQUEST['id'] . "' ";
  23. $result = mysql_query($query)
  24. or die(mysql_error());
  25.  
  26. $row = mysql_fetch_array($result);
  27. ?>
  28. <b>Dane spedytora zostały uaktualnione.</b><br>
  29.  
  30. </p>
  31. <?php
  32. } else {
  33. $query = "SELECT * FROM spedytorzy WHERE IDspedytora = '" . $_REQUEST['id'] . "' ";
  34. $result = mysql_query($query)
  35. or die(mysql_error());
  36.  
  37. $row = mysql_fetch_array($result);
  38.  
  39. ?>
  40. <p>
  41. <form action="edytuj_spedytora.php" method="post">
  42. Nazwa Firmy: <input type="text" name="NazwaFirmy"
  43.  value="<?php echo $row['NazwaFirmy']; ?>"><br>
  44. Telefon: <input type="text" name="Telefon"
  45. value="<?php echo $row['Telefon']; ?>"><br>
  46.  
  47. <input type="submit" name="submit" value="Uaktualnij">  
  48. </form>
  49. </p>
  50. <?php
  51. }
  52. ?>
  53. </body>
  54. </html>
nospor
Cytat
walcze już tydzień bez przerwy
Nie przyznawaj sie nigdy do takich rzeczy. Tylko mozesz rozdrażnić takimi tekstami co poniektorych...

Cytat
ale już w zapytaniu UPDATE wartość ta znika.
No przeciez do update ty jej nie przekazujesz to masz (a raczej nie masz smile.gif )
Masz tak: action="edytuj_spedytora.php"
I nigdzie tu nie masz wzmianki o tym id. Ani w polu formularza ani w akkcji. Dodaj albo jeszcze jedno pole ukryte do forma i tam trzymaj ID, albo do akcji je dopisz: action="edytuj_spedytora.php?id=twojeid"
funky_beat
WoW, jednak opinia o Tych Specjalistach jacy tu pracują jest słuszna. Dodałem pole ukryte:
  1. <input type="hidden" name="IDspedytora" value="<?php echo $_REQUEST['id']; ?>">


zapytanie:
  1. <?php
  2. $query_update = "UPDATE spedytorzy SET NazwaFirmy = '" . $_POST['NazwaFirmy'] . "', Telefon = '" . $_POST['Telefon'] . "' WHERE IDspedytora = '" . $_REQUEST['id'] . "'";php]
  3.  
  4. zmieniłem na:
  5. [php] $query_update = "UPDATE spedytorzy SET NazwaFirmy = '" . $_POST['NazwaFirmy'] . "', Telefon = '" . $_POST['Telefon'] . "' WHERE IDspedytora = '" . $_POST['IDspedytora'] . "'";
  6. ?>


i działa guitar.gif

Wielkie dzięki
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.