Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][HTML][PHP] Edycja pól w bazie za pomocą formularza
kunegunda
post 28.11.2009, 18:07:13
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 6.10.2009

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


Po wielu próbach udało mi się zrobić bazę danych do której wprowadzamy dane za pomocą formularza i teraz chciałbym za pomocą nowego formularza (w specjalnym panelu) edytować te dane. Ale niestety kod, które zamieściłem poniżej mi nie działają, o wprowadzeniu nowej nazwy do pola w formularzu nic się nie dzieje ;/ Mógłby mi ktoś powiedzieć co zrobiłem źle?


Plik - baza2.php:
  1. <?php
  2. $n=$_POST['osoba'];
  3. $IP=$_SERVER['REMOTE_ADDR'];
  4. $t=$_POST['tresc'];
  5. $email=$_POST['email'];
  6. $DATA= date('Y-m-d');
  7.  
  8.  
  9.  
  10. $baza=mysql_connect("xxxxxxxl","xxxxxxx","xxxxxxx");
  11. mysql_select_db(xxxxxxx);
  12.  
  13.  
  14. mysql_query("insert into OSOBY VALUES(null,'$n', '$IP','$t','$email','$DATA');");
  15.  
  16. $wynik=mysql_query("select * from OSOBY");
  17.  
  18. echo "<table border=2>";
  19. echo "<td><b>LP.</b></td><td><b>Nick</b></td><td><b>IP</b></td><td><b>Tresc</b></td><td><b>Email</b></td><td><b>Data</b></td>";
  20.  
  21.  
  22.  
  23. $wynik3=mysql_query("select * from OSOBY");
  24. echo('<form name="LP" method="post" action="2.html">');
  25. while ($row=mysql_fetch_array($wynik3))
  26. echo('<input type="submit" name="LP" value="'.$row['LP'].'">');
  27. echo('</form>');
  28.  
  29. while($wartosc=mysql_fetch_row($wynik))
  30. {
  31.  
  32. echo "<tr><td>".$wartosc[0]."</td>";
  33. echo "<td>".$wartosc[1]."</td>";
  34. echo "<td>".$wartosc[2]."</td>";
  35. echo "<td>".$wartosc[3]."</td>";
  36. echo "<td>".$wartosc[4]."</td>";
  37. echo "<td>".$wartosc[5]."</td></tr>";
  38. //echo "<td>".$wynik."</td></tr>";
  39.  
  40. }
  41. echo "<table/>";
  42. echo "<br></br>";
  43. mysql_close($connect);
  44. ?>


Plik - 2.html:
  1. <form action="updated.php" method="post">
  2. <input type="hidden" name="ud_LP" value="<? echo $LP; ?>">
  3. Osoba: <input type="text" name="ud_osoba" value="<? echo $osoba; ?>"><br>
  4.  
  5. <input type="Submit" value="Aktualizuj">
  6. </form>


Plik - updated.php:
  1. <?php
  2. $baza=mysql_connect("xxxxxxx","xxxxxxx","xxxxxxx");
  3. mysql_select_db(xxxxxxx);
  4.  
  5. echo($_POST['LP']);
  6. $n=$_POST['osoba'];
  7.  
  8.  
  9. $query=('SELECT * FROM OSOBY WHERE LP='.$_POST['LP']);
  10. $result=mysql_query($query);
  11. $num=mysql_numrows($result);
  12.  
  13. $i=0;
  14. while ($i < $num) {
  15. $n=mysql_result($result,$i,$n);
  16.  
  17. ++$i;
  18. }
  19. $ud_LP=$_POST['ud_LP'];
  20. $ud_osoba=$_POST['ud_osoba'];
  21.  
  22.  
  23. $query = "UPDATE OSOBY SET osoba = '$ud_osoba' WHERE LP = '$ud_LP'";
  24.  
  25.  
  26. $baza=mysql_connect("xxxxxxx","xxxxxxx","xxxxxxx");
  27. mysql_select_db(xxxxxxx);
  28.  
  29. $query="UPDATE OSOBY SET osoba='$ud_osoba', WHERE LP='$ud_LP'";
  30. mysql_query($query);
  31. echo "Rekord zaktualizowany";
  32.  
  33.  
  34. $wynik=mysql_query("select * from OSOBY");
  35.  
  36. echo "<table border=2>";
  37. echo "<td><b>LP.</b></td><td><b>Nick</b></td><td><b>IP</b></td><td><b>Tresc</b></td><td><b>Email</b></td><td><b>Data</b></td>";
  38.  
  39.  
  40. while($wartosc=mysql_fetch_row($wynik))
  41. {
  42.  
  43. echo "<tr><td>".$wartosc[0]."</td>";
  44. echo "<td>".$wartosc[1]."</td>";
  45. echo "<td>".$wartosc[2]."</td>";
  46. echo "<td>".$wartosc[3]."</td>";
  47. echo "<td>".$wartosc[4]."</td>";
  48. echo "<td>".$wartosc[5]."</td></tr>";
  49. //echo "<td>".$wynik."</td></tr>";
  50.  
  51. }
  52. echo "<table/>";
  53. echo "<br></br>";
  54. mysql_close($connect);
  55.  
  56.  
  57. ?>
Go to the top of the page
+Quote Post
korro
post 28.11.2009, 18:48:55
Post #2





Grupa: Zarejestrowani
Postów: 259
Pomógł: 42
Dołączył: 8.04.2005
Skąd: Mława

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


Mogę tylko zgadywać, bo nie podałeś jaki komunikat otrzymujesz, ale spróbuję.
  1. mysql_query("insert into OSOBY VALUES(null,'$n', '$IP','$t','$email','$DATA');");

w tej linijce, w pierwszym polu, tam gdzie jest null, prawdopodobnie masz autoincrement.
zmień to na coś takiego:
  1. mysql_query("insert into OSOBY(kolumna2, kolumna3, kolumna4, kolumna5, kolumna6) VALUES('$n', '$IP','$t','$email','$DATA');");


--------------------
Go to the top of the page
+Quote Post
kunegunda
post 29.11.2009, 10:10:32
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 6.10.2009

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


Cytat(korro @ 28.11.2009, 18:48:55 ) *
Mogę tylko zgadywać, bo nie podałeś jaki komunikat otrzymujesz, ale spróbuję.
  1. mysql_query("insert into OSOBY VALUES(null,'$n', '$IP','$t','$email','$DATA');");

w tej linijce, w pierwszym polu, tam gdzie jest null, prawdopodobnie masz autoincrement.
zmień to na coś takiego:
  1. mysql_query("insert into OSOBY(kolumna2, kolumna3, kolumna4, kolumna5, kolumna6) VALUES('$n', '$IP','$t','$email','$DATA');");


Zmieniłem i dalej nic, tzn. tabela się wyświetla ale po edycji rekord się nie zmienia.

Kody błędów:

Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in /var/www/sites/yoyo.pl/m/a/nazwa/mod/updated.php on line 11

Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /var/www/sites/yoyo.pl/m/a/nazwa/mod/updated.php on line 60
Go to the top of the page
+Quote Post
thek
post 29.11.2009, 11:18:35
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Zrozum więc co błędy oznaczają. Pierwszy. Zła nazwa funkcji. Zgubiłeś _ w niej. A drugi... Skoro brak argumentu to znaczy, że nie ma nawet domyślnego połączenia z bazą. A to znaczy, że się nawet z nią nie połączyło najwidoczniej. Sprawdź czy łączysz z nią, bo mam wrażenie, że nie.
Inna sprawa, że masz zapytanie do aktualizacji błędne.
  1. $query="UPDATE OSOBY SET osoba='$ud_osoba', WHERE LP='$ud_LP'";
Co robi przecinek przed WHERE?
No i po co Ci dwa mysql_connect?

Ten post edytował thek 29.11.2009, 11:19:20


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 6.07.2025 - 07:16