Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [MYSQL] Modyfikacja danych
MarcinFC
post
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 23.07.2007

Ostrzeżenie: (0%)
-----


Witam
Na jednej ze stron znalazłem kod do modyfikacji danych w bazie. Po odpaleniu pliku poprawnie wyswietla pobrane dane ale po naciśnięciu Modyfikacja nic się nie dzieje. Tzn nie wyświetla formularzy z danym id potrzebnych do modyfikacji tylko pozostaje na 1 stronie.
Prosiłbym o pomoc jak sobie z tym poradzić.

  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5. <table border="1" width="98%" cellspacing="0" cellpadding="0" bordercolorlight="#000000">
  6. <tr>
  7. <td width="96%" colspan="7" bgcolor="#C0C0C0">
  8. <p align="center"><b><font size="2">Dane osobowe</font></b></td>
  9. </tr>
  10. <tr>
  11. <td width="4%" align="center" bgcolor="#E0E0E0">
  12. <p align="center"><font size="2">&nbsp;ID</font></td>
  13. <td width="18%" align="center" bgcolor="#E0E0E0">
  14. <p align="center"><font size="2">Imię</font></td>
  15. <td width="18%" align="center" bgcolor="#E0E0E0"><font size="2">Nazwisko</font></td>
  16. <td width="6%" align="center" bgcolor="#E0E0E0"><font size="2">Modyfikuj</font></td>
  17. </tr>
  18.  
  19.  
  20. <?php
  21.  
  22. // podłączamy plik connection.php
  23. require "connection.php";
  24. // wywołujemy funkcję connection()
  25. connection();
  26.  
  27. $zapytanie = "SELECT * FROM statystyki ORDER BY id ASC";
  28. $wykonaj = mysql_query ($zapytanie);
  29. while($wiersz=mysql_fetch_array ($wykonaj)) {
  30. echo " <tr>
  31. <td width=\"4%\">".$wiersz['id']."</td>
  32. <td width=\"18%\">".$wiersz['imienazwisko']."</td>
  33. <td width=\"18%\">".$wiersz['pozycja']."</td>
  34. <td width=\"6%\"><b><a href=\"nowy2.php?stan=modyf&idmodyf=".$wiersz['id']."\">
  35. Modyfikacja</a></b></td>
  36. </tr>";
  37. }
  38. if($stan=='modyf') {
  39. $zapytanie = "SELECT * FROM dane where id=$idmodyf";
  40. $wykonaj = mysql_query ($zapytanie);
  41. $tablica = mysql_fetch_array($wykonaj);
  42. echo "<form method=\"get\" action=\"nowy2.php\">
  43. <div align=\"center\">
  44. <center>
  45. <table border=\"1\" width=\"50%\" bordercolorlight=\"#000000\" cellspacing=\"0\" cellpadding=\"0\">
  46. <tr>
  47. <td width=\"50%\"><font size=\"2\" face=\"Verdana\">Imie</font></td>
  48. <td width=\"50%\" align=\"center\"><font size=\"2\" face=\"Verdana\"><input type=\"text\" name=\"imie\" value=\"".$tablica['imienazwisko']."\" size=\"20\"></font></td>
  49. </tr>
  50. <tr>
  51. <td width=\"50%\"><font size=\"2\" face=\"Verdana\">Nazwisko</font></td>
  52. <td width=\"50%\" align=\"center\"><font size=\"2\" face=\"Verdana\"><input type=\"text\" name=\"nazwisko\" value=\"".$tablica['pozycja']."\" size=\"20\"></font></td>
  53. </tr>
  54. <tr>
  55. <td width=\"100%\" colspan=\"2\">
  56. <p align=\"center\"><font size=\"2\" face=\"Verdana\"><input type=\"hidden\" name=\"modyfikuj\" value=\"$idmodyf\"><input type=\"submit\" value=\"Modyfikuj\" name=\"send\"></font></td>
  57. </tr>
  58. </table>
  59. </center>
  60. </div>
  61. </form>";
  62.  
  63. }
  64. else if ($send=='Modyfikuj'){$zapytanie = "UPDATE dane SET imie='$imienazwisko', nazwisko='$pozycja' WHERE id=$modyfikuj";
  65. $wykonaj = mysql_query ($zapytanie);
  66. echo "<br>Dane poprawione<BR><a href=\"nowy2.php\">Obejrzyj poprawiona bazę</a>";}
  67. else {
  68.  
  69. }
  70. ?>
  71. </table>
  72. </body>
  73. </html>



Pozdrawiam
Go to the top of the page
+Quote Post
Wicepsik
post
Post #2





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


$_GET
Go to the top of the page
+Quote Post
MarcinFC
post
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 23.07.2007

Ostrzeżenie: (0%)
-----


a gdzie to mam zastosować. Sorki ale jestem początkujacy z bazami.
Go to the top of the page
+Quote Post
Wicepsik
post
Post #4





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


To jest php.
Go to the top of the page
+Quote Post
MarcinFC
post
Post #5





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 23.07.2007

Ostrzeżenie: (0%)
-----


fakt pomyliłem się. Szkoda tylko ze nie mozna podpowiedzieć.
Go to the top of the page
+Quote Post
Wicepsik
post
Post #6





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Pisze w manualu jak zastosować. To są PODSTAWY.

Ten post edytował Wicepsik 9.08.2009, 15:50:30
Go to the top of the page
+Quote Post
MarcinFC
post
Post #7





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 23.07.2007

Ostrzeżenie: (0%)
-----


to po co jest to forum zeby podać mi linka (IMG:style_emoticons/default/questionmark.gif) Jak bym wiedział to już bym to zrobił. Nie wiem jak na tym przypadku to zastosować.
Go to the top of the page
+Quote Post
Wicepsik
post
Post #8





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Dając Ci gotowe rozwiązanie nie nauczysz się dużo....

  1. 'nowy2.php?stan=modyf&idmodyf=1'


Jakbyś tutaj zastosował get ?

Ten post edytował Wicepsik 9.08.2009, 16:13:25
Go to the top of the page
+Quote Post
MarcinFC
post
Post #9





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 23.07.2007

Ostrzeżenie: (0%)
-----


($_GET['stan'] == 'modyf') (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) ?

jezeli nie to nic juz nie wiem. pół dnia sie mecze i co bym nie zrobił to dalej nie działa i juz mam dosc

narka

no dobra niby zadziałało (IMG:style_emoticons/default/smile.gif) tylko teraz wyswietliło się tez taki błąd

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/web67/domains/om.9x.pl/public_html/statystyki/include/nowy2.php on line 41





Ten post edytował MarcinFC 9.08.2009, 16:42:06
Go to the top of the page
+Quote Post
Wicepsik
post
Post #10





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Pokaż jak przerobiłeś.
Go to the top of the page
+Quote Post
MarcinFC
post
Post #11





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 23.07.2007

Ostrzeżenie: (0%)
-----


Szczerze powiedziawszy to nie mam juz sił dalej to robić. Mam tylko jeszcze jedno pytanie. Wczesniej strone miałem na innym serwerze i tam ten kod działał bez problemu a na nowym serwerze juz nie działa. Dlaczego tak sie dzieje (IMG:style_emoticons/default/questionmark.gif)

Pozdrawiam i dzieki ze chcesz pomoc (IMG:style_emoticons/default/smile.gif) . Odpoczne to znow sie tym zajme.

Dobra mam w tej chwili cos takiego

  1. <?php
  2.  
  3. // podłączamy plik connection.php
  4. require "connection.php";
  5. // wywołujemy funkcję connection()
  6. connection();
  7.  
  8. $zapytanie = "SELECT * FROM statystyki ORDER BY id ASC";
  9. $wykonaj = mysql_query ($zapytanie);
  10. while($wiersz=mysql_fetch_array ($wykonaj)) {
  11. echo " <tr>
  12. <td width=\"4%\">".$wiersz['id']."</td>
  13. <td width=\"18%\">".$wiersz['imienazwisko']."</td>
  14. <td width=\"18%\">".$wiersz['pozycja']."</td>
  15. <td align=\"center\" width=\"6%\"><b><a href=\"./nowy.php?stan=modyf&idmodyf=".$wiersz['id']."\">Modyfikacja</a></b></td>
  16. </tr>";
  17. }
  18.  
  19. if($_GET['stan'] == 'modyf') {
  20. $zapytanie = "SELECT * FROM statystyki where id=$idmodyf";
  21. $wykonaj = mysql_query ($zapytanie);
  22. $tablica = mysql_fetch_array($wykonaj);
  23. echo " <form method=\"get\" action=\"nowy2.php\">
  24. <table border=\"1\" width=\"100%\" bordercolorlight=\"#000000\" cellspacing=\"0\" cellpadding=\"0\">
  25. <tr>
  26. <td width=\"16%\" align=\"center\"><font size=\"2\" face=\"Verdana\">Imie i nazwisko</font></td>
  27. <td width=\"16%\" align=\"center\"><font size=\"2\" face=\"Verdana\"><input type=\"text\" name=\"imienazwisko\" value=\"".$tablica['imienazwisko']."\" size=\"20\"></font></td>
  28. <td width=\"16%\" align=\"center\"><font size=\"2\" face=\"Verdana\">Pozycja</font></td>
  29. <td width=\"16%\" align=\"center\"><font size=\"2\" face=\"Verdana\"><input type=\"text\" name=\"pozycja\" value=\"".$tablica['pozycja']."\" size=\"20\"></font></td>
  30. </tr>
  31. </table>
  32. </form>";
  33. }
  34. elseif ($send=='Modyfikuj'){$zapytanie = "UPDATE statystyki SET imienazwisko='$imienazwisko', pozycja='$pozycja' WHERE id=$modyfikuj";
  35. $wykonaj = mysql_query ($zapytanie);
  36. echo "<br>Dane poprawione";}
  37. else {
  38.  
  39. }
  40. ?>


teraz otwiera się nowa strona i pokazuje się formularz do edycji tylko że:
wywala taki błąd

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /nowy.php on line 22

chodzi o tą linie $tablica = mysql_fetch_array($wykonaj);

i w formularzu nie pokazują się te dane do eytowania.

Ten post edytował MarcinFC 10.08.2009, 16:36:11
Go to the top of the page
+Quote Post
Wicepsik
post
Post #12





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Co zawiera zmienna $idmodyf?
Go to the top of the page
+Quote Post
MarcinFC
post
Post #13





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 23.07.2007

Ostrzeżenie: (0%)
-----


czyli jednak dalej mam cos z linkiem nie tak (IMG:style_emoticons/default/sad.gif)

jak skasowałem where id=$idmodyf"; z tego wiersza

$zapytanie = "SELECT * FROM statystyki where id=$idmodyf";

to nie wyswietlał się już błąd i pobrał dane tylko ze przy kazdym linku (innej osoby) pobiera te same dane z id 1.

nie wiem czy dobrze wytłumaczyłem (IMG:style_emoticons/default/sad.gif)

a $idmodyf ma przypisywać wyswitlane dene konkretnemu id - tak to rozumiem, moze zle ale już mam taki metlik ze masakra

Rozumiem ze cięzko będzie cos z tym zrobić. (IMG:style_emoticons/default/questionmark.gif)

Ten post edytował MarcinFC 10.08.2009, 17:05:32
Go to the top of the page
+Quote Post
Fafu
post
Post #14





Grupa: Zarejestrowani
Postów: 243
Pomógł: 33
Dołączył: 30.01.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


ja tu widze ze skrypt napisany do register globals na on - czyli albo włączyć albo sobie pozamieniaj np $idmodyf na $_GET['idmodyf']
Go to the top of the page
+Quote Post
MarcinFC
post
Post #15





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 23.07.2007

Ostrzeżenie: (0%)
-----


Dzieki Fafu, wstawiłe id=$_GET[idmodyf] i działa. lece dalej mam nadzieje ze juz bez problemowo

Pozdrawiam

No i kolejny problem sie pojawił. Już mam ze pobieraz i wyswietla odpowiednie dane do edytowania tylko teraz nie wysyła ich do bazy.
czyli błąd jest gdzies tu

  1. <tr>
  2. <td width=\"100%\" colspan=\"10\">
  3. <p align=\"center\"><font size=\"2\" face=\"Verdana\"><input type=\"hidden\" name=\"modyfikuj\" value=\"$idmodyf\"><input type=\"submit\" value=\"modyfikuj\" name=\"send\"></font></td>
  4. </tr>
  5. </table>
  6. </form>";
  7. }
  8. else if ($send=='modyfikuj'){$zapytanie = "UPDATE statystyki SET imienazwisko='$imienazwisko', pozycja='$pozycja' WHERE id=$modyfikuj";
  9. $wykonaj = mysql_query ($zapytanie);
  10. echo "<br>Dane poprawione";}
  11. else {
  12.  
  13. }
Go to the top of the page
+Quote Post
Wicepsik
post
Post #16





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


  1. <form method="get">
  2. <input type="text" name="id">
  3. </form>
  4.  
  5. $_GET['id']
Go to the top of the page
+Quote Post
bmL
post
Post #17





Grupa: Zarejestrowani
Postów: 301
Pomógł: 25
Dołączył: 15.07.2007
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


Tutaj z kolei powinieneś odnieść się do tablicy $_POST czyli
  1. else if ($_POST['send']=='modyfikuj)

Ale jeżeli tego nie rozumiesz to mija się z celem takie poprawianie (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
MarcinFC
post
Post #18





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 23.07.2007

Ostrzeżenie: (0%)
-----


zmieniłem na else if ($_POST['send']=='modyfikuj')

i pojawia się ze "Dane poprawione" ale nic w bazie sie nie zmienia

no niestety jak widzicie nie umiem php ale bardzo zalezy mi na tym by to uruchomić
Go to the top of the page
+Quote Post
bmL
post
Post #19





Grupa: Zarejestrowani
Postów: 301
Pomógł: 25
Dołączył: 15.07.2007
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


pozamieniaj wszystkie zmienne $xxxx w tym warunku na $_POST['xxxx']

Ten post edytował bmL 11.08.2009, 14:34:34
Go to the top of the page
+Quote Post
MarcinFC
post
Post #20





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 23.07.2007

Ostrzeżenie: (0%)
-----


no niestety pozmieniałem i dalej nie zmienia wpisów w bazie.
Go to the top of the page
+Quote Post
Wicepsik
post
Post #21





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Metoda w formularzu wpisana jako GET a ty każesz mu pisać POST...


@MarcinFC
Pokaż jaki skrypt zdołałeś napisać.
Go to the top of the page
+Quote Post
MarcinFC
post
Post #22





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 23.07.2007

Ostrzeżenie: (0%)
-----


oto cały kod

  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5. <table border="1" width="100%" cellspacing="0" cellpadding="0" bordercolorlight="#000000">
  6. <tr>
  7. <td width="96%" colspan="7" bgcolor="#C0C0C0">
  8. <p align="center"><b><font size="2">Dane osobowe</font></b></td>
  9. </tr>
  10. <tr>
  11. <td width="4%" align="center" bgcolor="#E0E0E0">
  12. <p align="center"><font size="2">&nbsp;ID</font></td>
  13. <td width="18%" align="center" bgcolor="#E0E0E0">
  14. <p align="center"><font size="2">Imię</font></td>
  15. <td width="18%" align="center" bgcolor="#E0E0E0"><font size="2">Nazwisko</font></td>
  16. <td width="6%" align="center" bgcolor="#E0E0E0"><font size="2">Modyfikuj</font></td>
  17. </tr>
  18.  
  19.  
  20. <?php
  21.  
  22. // podłączamy plik connection.php
  23. require "connection.php";
  24. // wywołujemy funkcję connection()
  25. connection();
  26.  
  27. $zapytanie = "SELECT * FROM statystyki ORDER BY id ASC";
  28. $wykonaj = mysql_query ($zapytanie);
  29. while($wiersz=mysql_fetch_array ($wykonaj)) {
  30. echo " <tr>
  31. <td width=\"4%\">".$wiersz['id']."</td>
  32. <td width=\"18%\">".$wiersz['imienazwisko']."</td>
  33. <td width=\"18%\">".$wiersz['pozycja']."</td>
  34. <td align=\"center\" width=\"6%\"><b><a href=\"./nowy.php?stan=modyf&idmodyf=".$wiersz['id']."\">Modyfikacja</a></b></td>
  35. </tr>";
  36. }
  37.  
  38. if($_GET['stan'] == 'modyf') {
  39. $zapytanie = "SELECT * FROM statystyki where id=$_GET[idmodyf]";
  40. $wykonaj = mysql_query ($zapytanie);
  41. $tablica = mysql_fetch_array ($wykonaj);
  42. echo " <form method=\"POST\" action=\"nowy.php\">
  43. <table border=\"1\" width=\"100%\" bordercolorlight=\"#000000\" cellspacing=\"0\" cellpadding=\"0\">
  44. <tr>
  45. <td width=\"16%\" align=\"center\"><font size=\"2\" face=\"Verdana\">Imie i nazwisko</font></td>
  46. <td width=\"16%\" align=\"center\"><font size=\"2\" face=\"Verdana\"><input type=\"text\" name=\"imienazwisko\" value=\"".$tablica['imienazwisko']."\" size=\"20\"></font></td>
  47. <td width=\"16%\" align=\"center\"><font size=\"2\" face=\"Verdana\">Pozycja</font></td>
  48. <td width=\"16%\" align=\"center\"><font size=\"2\" face=\"Verdana\"><input type=\"text\" name=\"pozycja\" value=\"".$tablica['pozycja']."\" size=\"20\"></font></td>
  49. </tr>
  50. <tr>
  51. <td width=\"100%\" colspan=\"10\">
  52. <p align=\"center\"><font size=\"2\" face=\"Verdana\"><input type=\"hidden\" name=\"modyfikuj\" value=\"$idmodyf\"><input type=\"submit\" value=\"modyfikuj\" name=\"send\"></font></td>
  53. </tr>
  54. </table>
  55. </form>";
  56. }
  57. else if ($_POST['send'] == 'modyfikuj') {$zapytanie = "UPDATE statystyki SET imienazwisko='$imienazwisko', pozycja='$pozycja' WHERE id=$modyfikuj";
  58. $wykonaj = mysql_query ($zapytanie);
  59. echo "<br>Dane poprawione";}
  60. else {
  61.  
  62. }
  63. ?>
  64. </table>
  65. </body>
  66. </html>
Go to the top of the page
+Quote Post
bmL
post
Post #23





Grupa: Zarejestrowani
Postów: 301
Pomógł: 25
Dołączył: 15.07.2007
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


Cytat(Wicepsik @ 11.08.2009, 17:07:26 ) *
Metoda w formularzu wpisana jako GET a ty każesz mu pisać POST...


@MarcinFC
Pokaż jaki skrypt zdołałeś napisać.

Faktycznie nie zwróciłem uwagi.

Ale widzę że metoda jest już zmieniona na POST, więc popraw jeszcze:
  1. $zapytanie = "UPDATE statystyki SET imienazwisko='$imienazwisko', pozycja='$pozycja' WHERE id=$modyfikuj";

na
  1. $zapytanie = "UPDATE statystyki SET mienazwisko='$_POST[imienazwisko]', pozycja='$_POST[pozycja]' WHERE id=$_POST[modyfikuj]";


Ten post edytował bmL 11.08.2009, 23:15:21
Go to the top of the page
+Quote Post
MarcinFC
post
Post #24





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 23.07.2007

Ostrzeżenie: (0%)
-----


tak tez już robiłem i dalej nic. Pisze ze dane poprawione ale nie zmienia wpisu w bazie
Go to the top of the page
+Quote Post
nospor
post
Post #25





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Pisze ze dane poprawione ale nie zmienia wpisu w bazie
Tak to jest, jak sie wyswietla komunikat bez sprawdzenia co sie tak naprawde wydarzylo

  1. $wykonaj = mysql_query ($zapytanie) or die('zap: '.$zapytanie.'----blad:'.mysql_error());
  2. echo "<br>Dane poprawione";
Go to the top of the page
+Quote Post
bmL
post
Post #26





Grupa: Zarejestrowani
Postów: 301
Pomógł: 25
Dołączył: 15.07.2007
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


  1. <p align=\"center\"><font size=\"2\" face=\"Verdana\"><input type=\"hidden\" name=\"modyfikuj\" value=\"$_GET[idmodyf]\"><input type=\"submit\" value=\"modyfikuj\" name=\"send\"></font></td>
zamień tak jak napisałem.
W sumie to na szybkiego można było dać extract($_GET) i extract($_POST) ale to by nie było zbyt bezpieczne.

Ten post edytował bmL 12.08.2009, 10:35:00
Go to the top of the page
+Quote Post
MarcinFC
post
Post #27





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 23.07.2007

Ostrzeżenie: (0%)
-----


bmL wielkie dzieki. Działa (IMG:style_emoticons/default/exclamation.gif) !
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 03:38