![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
próbuję zaktualizować rekord w tabeli MySQL. Dane są pobierane przez formularz ale po kliknięciu popraw nic się nie zmienia, pozostają stare dane. [php] Ten post edytował ttb 25.03.2009, 18:01:47 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
po 1 wywal te@
i tu powinno być zamiast:
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
zmieniłem ale nadal nie działa... masz może jeszcze jakiś pomysł? bo 5 dni przeszukuję internet i nie mogę znaleźć rozwiązania... wszystko działa tylko nie to...
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 658 Pomógł: 37 Dołączył: 4.06.2005 Skąd: Wawa Ostrzeżenie: (0%) ![]() ![]() |
A zwraca Ci jakiś błąd ?
Ja mam taki problem na WebSrv i WampSrv, że musi być to ujęte w takich apostrofach
Zobacz co dodałem w polach kod i id takie smieszne pazurki ``. Nie wiem dlaczego tak jest, na serwerach roboczych faktycznie nie jest to wymagane. Dodatkowo zrób sobie echo danych które odbierasz z formularza, może nie wykonuje on się poprawnie. Pozdrawiam Redelek Ten post edytował redelek 25.03.2009, 09:11:39 -------------------- Pozdrawiam
Piotrek R |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
dzięki redelek ale dalej bez zmian...
formularz odczytuje dane dla ID z tabeli, wyświetla pole do edycji, pozwala zmienić zawartość pola ale po wciśnięciu POPRAW w wylistowanej tabeli pojawiają się te same dane co przed edycją... |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Proszę dodać bbcode oraz poprawić temat. Same tagi nie są tematem.
-------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
poprawione, przepraszam...
i oczywiście nadal szukam podpowiedzi gdzie może leżeć problem... może coś z ID jest nie tak... czy może być to wina tego, że pobieram tylko jedno pole z rekordu a nie wszystkie? Może resztę powiniennem ukryć poleceniem "hidden"... Ten post edytował ttb 25.03.2009, 10:17:04 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 180 Pomógł: 12 Dołączył: 30.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Kod /* uaktualniamy tabelę test */ mysql_query("UPDATE test SET kod='$kod' WHERE id='$id'") or die('Błąd zapytania'); echo 'Dane zostały zaktualizowane'; moze to nie ma znaczenia, ale zrób: $sql=mysql_query("UPDATE test SET kod='$kod' WHERE id='$id'") a nie samo mysql_query. potem np: if(!$sql) { echo "Kupa, dane nie zostały zaktualizowane"; exit(); } Poza tym, to zapytanie jest poprawne moim zdaniem... Czy jesteś pewien, ze masz zmieną "id" w ogole? Mże sie nie przesyła? Ten post edytował kazag 25.03.2009, 10:54:52 -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
tak, mam zmienną ID (autonumerowanie), klucz podstawowy...
pobiera odpowiednie ID ale coś jest nie tak z przesłaniem poprawionej zmiennej KOD... spróbuję Twój pomysł... |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 180 Pomógł: 12 Dołączył: 30.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
chodzi nie o to, czy masz pole id w bazie, ale czy formularz działa, daj sobie echo $id."-".$kod; i zobacz, czy pokazą ci sie te wartosci, ktore chcesz wstawic do bazy.
Kod /* odbieramy zmienne z formularza */
$id = $_POST['id']; $kod = $_POST['kod']; echo $id."-".$kod; -------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
hmm... teraz to już nic nie rozumiem... wpisałem linijkę kodu z ECHO... i nic się nie zmieniło - czyli nie czyta zmiennych... dobrze rozumiem?
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 180 Pomógł: 12 Dołączył: 30.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
rozumiem, ze dostałeś tylko ten myślnik, który jest między nimi, tak?
jesli widzisz tylko ten myślnik, to znaczy ni mniej ni wiecej tyle, że zmienne id i kod gdzieś giną. poza tym: $a nigdy nie będzie "save", ponieważ wysyłasz formularz postem, a zmienne odczytujesz z $_GET... zmień na: $a=$_POST['a'] i $id=$_POST['id'], albo zmień method na "get". Ten post edytował kazag 25.03.2009, 12:12:42 -------------------- |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
nie, nawet myślnika nie pokazało...
zmieniłem POST na GET i też bez rezultatu... Ten post edytował ttb 25.03.2009, 12:27:19 |
|
|
![]()
Post
#14
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
pokaż jak teraz wygląda twój kod
![]() |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Kod <?php
// łączymy się z bazą danych $connection = mysql_connect('localhost', 'xxx', 'yyy') or die('Brak połączenia z serwerem MySQL'); $db = mysql_select_db('zzz', $connection) or die('Nie mogę połączyć się z bazą danych'); $a = $_GET['a']; $id = $_GET['id']; if($a == 'edit' and !empty($id)) { /* zapytanie do tabeli */ $wynik = mysql_query("SELECT * FROM test WHERE id='$id'") or die('Błąd zapytania'); /*wyświetlamy wyniki, sprawdzamy, czy zapytanie zwróciło wartość większą od 0 */ if(mysql_num_rows($wynik) > 0) { /* odczytujemy zawartość wiersza z tabeli */ $r = mysql_fetch_assoc($wynik); /* wczytujemy dane do formularza */ /* w formularz znajdują się ukryte pola "a" z wartością "save" i pole "id" z wartością zmiennej id */ echo '<form action="st_dro_1.php" method="get"> <input type="hidden" name="a" value="save" /> <input type="hidden" name="id" value="'.$id.'" /> kod:<br /><input type="text" name="kod" value="'.$r['kod'].'" /><br /> <input type="submit" value="popraw" /> </form>'; } } elseif($_POST['a'] == 'save') { /* odbieramy zmienne z formularza */ $id = $_POST['id']; $kod = $_POST['kod']; echo $id."-".$kod; /* uaktualniamy tabelę test */ mysql_query("UPDATE test SET kod='$kod' WHERE id='$id'") or die('Błąd zapytania'); echo 'Dane zostały zaktualizowane'; } ?> |
|
|
![]()
Post
#16
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
echo '<form action="st_dro_1.php" method="get">
nie działa bo teraz wysyłasz get a chcesz odebrać post ![]() |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
miałem wcześniej POST i też nie działało...
![]() |
|
|
![]()
Post
#18
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
to zmień teraz i będzie działało ,
wcześniej miałeś post i odbierałeś get , teraz masz get i odnierasz post ![]() |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
zmieniłem get na post i dalej nie zmienia...
![]() |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 658 Pomógł: 37 Dołączył: 4.06.2005 Skąd: Wawa Ostrzeżenie: (0%) ![]() ![]() |
U mnie działa bez problemu
Nie chciało mi się robić więcej więc spreparowałem link ![]() Odbierasz tak dane z innego formularza prawda http://localhost/PHP_forum/Problem_z_aktua...a=edit&id=2 Po wpisaniu tych danych pokazał mi się formularz. Zmieniłem coś w nim i wybrałem POPRAW. Poprawił w bazie bez problemów. Tak wygląda mój kod
Zobacz może się uda. Pierwsze masz dobrze chyba bo odbierasz coś GET z innego formularza. W formularzu do poprawy już uzywasz metody POST to i dane odbieraj post. Drobne modyfikacje i działa jak szalone Przed: id kod 1 test1 2 test2 3 test3 Po wysłaniu 1 zmiana_test1 2 zmiana_test2 3 zmiana_test3 Redelek Ten post edytował redelek 25.03.2009, 12:58:28 -------------------- Pozdrawiam
Piotrek R |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 14:38 |