![]() |
![]() |
![]()
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 |
|
|
![]()
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.
|
|
|
![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
![]()
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... (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
|
|
|
![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
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... (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
|
|
|
![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) 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 |
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
dzięki za pomoc przy problemie ale nadal nic...
wkleiłem Twój skrypt (zmieniłem dane połączenia, nazwę tabeli po SELECT, plik action="..." i ta dole tabelę do UPDATE... po zmianie treści pola, kliknięciu popraw, przechodzę do strony podaniej w action="..." i widzę to samo co było przed zmianą... dalej proszę: POMOCY ! |
|
|
![]()
Post
#22
|
|
Grupa: Zarejestrowani Postów: 658 Pomógł: 37 Dołączył: 4.06.2005 Skąd: Wawa Ostrzeżenie: (0%) ![]() ![]() |
Jak wygląda przejście z poprzedniego formularza do edycji danych możesz pokazać?
Bo jakoś przechodzisz na ten formularz do edycji ? Albo wyślij mi wszystko na e-mail piotr.redel[ET]gmail.com Pozdrawiam Redelek Ten post edytował redelek 25.03.2009, 13:37:00 |
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
kod porzedniego formularza wygląda następująco:
Kod <link rel="stylesheet" href="style.css" type="text/css" /> <a href="b_main.php">STRONA GŁÓWNA</a><br><br> PRZESYŁKI W DRODZE DO ODBIORCY<br> <?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'); /* zapytanie do konkretnej tabeli */ $wynik = mysql_query("SELECT * FROM test WHERE status='droga'") 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) { /* jeżeli wynik jest pozytywny, to wyświetlamy dane */ echo "<table cellpadding=\"2\" border=1>"; while($r = mysql_fetch_assoc($wynik)) { echo "<tr>"; echo "<td>".$r['id']."</td>"; echo "<td>".$r['datodb']."</td>"; echo "<td>".$r['nrzam']."</td>"; echo "<td>".$r['paleta']."</td>"; echo "<td>".$r['paczka']."</td>"; echo "<td>".$r['kod']."</td>"; echo "<td>".$r['miasto']."</td>"; echo "<td>".$r['status']."</td>"; echo "<td> <a href=\"edit.php?a=edit&id={$r['id']}\">EDIT</a> </td>"; echo "</tr>"; } echo "</table>"; } ?> a po kliknięciu EDIT mamy kod: 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']; // te dane odbierasz z innego formularza $id = $_GET['id'];// te dane odbierasz z innego formularza 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 */ /* action ZMIEŃ NA SWOJ PLIK ja dałem ind.php !!!!! */ echo '<form action="st_dro_1.php" method="POST"> <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']; /* uaktualniamy tabelę test */ mysql_query("UPDATE test SET kod='$kod' WHERE id='$id'") or die('Błąd zapytania'); echo 'Dane zostały zaktualizowane'; } ?> Ten post edytował ttb 25.03.2009, 13:42:51 |
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 658 Pomógł: 37 Dołączył: 4.06.2005 Skąd: Wawa Ostrzeżenie: (0%) ![]() ![]() |
<a href=\"edit.php?a=edit&id={$r['id']}\">EDIT</a> A co to jest amp; (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Dlaczego id={$r['id']} ? bez tych klamrowych nawiasów. Straszne kombinacje masz w tym linku Zrób sobie zmienną $id_edit=$r['id']; I zobacz nie ładniej wygląda link? <a href=\"edit.php?a=edit&id=$id_edit\">EDIT</a> Ten post edytował redelek 25.03.2009, 13:51:49 |
|
|
![]()
Post
#25
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
teraz po kliknięciu edytuj pokazuje mi się pusta strona
a link wygląda tak: http:// ... edit.php?a=edit&id= czyli nie wybiera rekordu z ID Ten post edytował ttb 25.03.2009, 14:00:27 |
|
|
![]()
Post
#26
|
|
Grupa: Zarejestrowani Postów: 658 Pomógł: 37 Dołączył: 4.06.2005 Skąd: Wawa Ostrzeżenie: (0%) ![]() ![]() |
pokaż kod gdzie to wstawiłeś ?
|
|
|
![]()
Post
#27
|
|
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'); /* zapytanie do konkretnej tabeli */ $wynik = mysql_query("SELECT * FROM test WHERE status='droga'") or die('Błąd zapytania'); /* wyświetlamy wyniki, sprawdzamy, czy zapytanie zwróciło wartość większą od 0 */ $id_edit=$r['id']; if(mysql_num_rows($wynik) > 0) { /* jeżeli wynik jest pozytywny, to wyświetlamy dane */ echo "<table cellpadding=\"2\" border=1>"; while($r = mysql_fetch_assoc($wynik)) { echo "<tr>"; echo "<td>".$r['id']."</td>"; echo "<td>".$r['datodb']."</td>"; echo "<td>".$r['nrzam']."</td>"; echo "<td>".$r['paleta']."</td>"; echo "<td>".$r['paczka']."</td>"; echo "<td>".$r['kod']."</td>"; echo "<td>".$r['miasto']."</td>"; echo "<td>".$r['status']."</td>"; echo "<td> <a href=\"edit.php?a=edit&id=$id_edit\">EDIT</a> </td>"; echo "</tr>"; } echo "</table>"; } ?> |
|
|
![]()
Post
#28
|
|
Grupa: Zarejestrowani Postów: 658 Pomógł: 37 Dołączył: 4.06.2005 Skąd: Wawa Ostrzeżenie: (0%) ![]() ![]() |
Ło rany
PHP nie umie myśleć Za wcześnie to wstawiłeś czy widzisz gdzieś wyżej zmiennną $r ? Pojawia się topiero ...... TUUUUU
Musisz zrobić tak
Ten post edytował redelek 25.03.2009, 14:08:54 |
|
|
![]()
Post
#29
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
ojoj... tak, złe miejsce....
teraz ID jest dobrze wybrane... ale zapisu po zmianie wartości pola nadal nie ma... (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) nawet jak zmienię na inne pole do edycji to też nic nie zmienia... Ten post edytował ttb 25.03.2009, 14:22:47 |
|
|
![]()
Post
#30
|
|
Grupa: Zarejestrowani Postów: 658 Pomógł: 37 Dołączył: 4.06.2005 Skąd: Wawa Ostrzeżenie: (0%) ![]() ![]() |
A spreparuj swój link tak jak to ja wcześniej zrobiłem
localhost/edit.php?a=edit&id=2 // oczywiście wpisz rekord który istnieje w bazie Wyświetli Ci się Twój formularz , wprowadź zmiany i zobacz czy zadziała. |
|
|
![]()
Post
#31
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
po wklejeniu linku otwera mi się strona edycji danego rekordu, wprowadzam zmianę, klikam popraw i przy podglądzie rekordu w tabeli nic się nie zmienia....
|
|
|
![]()
Post
#32
|
|
Grupa: Zarejestrowani Postów: 658 Pomógł: 37 Dołączył: 4.06.2005 Skąd: Wawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#33
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
nic, nie ma żadnego błędu / komunikatu...
|
|
|
![]()
Post
#34
|
|
Grupa: Zarejestrowani Postów: 658 Pomógł: 37 Dołączył: 4.06.2005 Skąd: Wawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#35
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
nie mam czego podesłać... nie pokazało żadnego błędu... przeszło znowu do tabeli wyników nie zmieniając rekordu...
no właśnie... wedle wszelkich prawideł skrypt powinien działać... Ten post edytował ttb 25.03.2009, 15:50:57 |
|
|
![]()
Post
#36
|
|
Grupa: Zarejestrowani Postów: 658 Pomógł: 37 Dołączył: 4.06.2005 Skąd: Wawa Ostrzeżenie: (0%) ![]() ![]() |
A jak wracasz na stronę z danymi ?
|
|
|
![]()
Post
#37
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 25.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
redelek, idealna wskazówka... działa! w action="plik.php" miałem wpisany zły plik...
dziękuję wszystkim za pomoc i wskazówki Ten post edytował ttb 25.03.2009, 18:55:29 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 11:23 |