![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 0 Dołączył: 20.02.2018 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Update wczytuje dane z tabeli mysql, jednak przy wykonywaniu update zmienia sie wyłącznie wczytane zdjęcie, nie zmieniają się tytul i tekst. Moje pytanie: gdzie jest błąd, co muszę poprawić aby tekst i tytul również się zmieniały.
Ten post edytował ob1 31.10.2018, 09:02:56 |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie mozliwe ze cokolwiek ci akutalizauje bo zapytanie sie w ogole nie wykonuje tylko rzuca bledem...
1) Teksty do zapytania wklada sie w apostrofach 2) Brak zmiennej $tekst 3) Brak WHERE przez co jakby ci dzialalo to by ci zmienialo wszyskie rekordy a nie wybrany |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 0 Dołączył: 20.02.2018 Ostrzeżenie: (0%) ![]() ![]() |
Tak, teraz poprawione i teraz zdjęcie zmienia (sorry, skopiowałem inną wersję). Nadal nie zmienia tytułu oraz tekstu
Ten post edytował ob1 31.10.2018, 10:51:56 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nigdzie nie pobierasz tytulu oraz zdjecia z formularza, czyli z tego co user wpisal, wiec niby jakim cudem ma ci zmieniac?
ps: ten SET id=id jest totalnie zbedny. Id przeciez nie chcesz zmieniac na to samo. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 0 Dołączył: 20.02.2018 Ostrzeżenie: (0%) ![]() ![]() |
Czyli w którym miejscu powinno nastąpić pobranie ? Rozumiem, że rozchodzi się o część if(isset($_POST['submit'])) {...?
Według mnie powinien czytać pobrane dane, bo po if(isset($_POST['submit'])) dopiero kończy się górny while. Ten post edytował ob1 31.10.2018, 13:09:12 |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Dane masz pobrac z $_POST przed wykonaniem zapytania. Dosc logiczne.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 0 Dołączył: 20.02.2018 Ostrzeżenie: (0%) ![]() ![]() |
nic nie działa. postem pobiera z poprzedniej strony id i naglowek.
Naglowek oraz tekst pobieram przed if submit i po echo sie wyswietlaja, ale nic sie nie aktualizuje.
Ten post edytował ob1 31.10.2018, 14:41:57 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
A skąd pobierasz tekst i nagłówek?
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 0 Dołączył: 20.02.2018 Ostrzeżenie: (0%) ![]() ![]() |
przed tą stroną jest wybór tematu, gdzie przez get jest przekazywany id. Na podstawie tego parametru pobieram z bazy wyniki (where id='$id')
całość obecnie wygląda tak (echo przy querysto z naglowkiem i tekstem wyswietla prawidlowo, tylko dalej nie dziala update):
Ten post edytował ob1 31.10.2018, 15:02:13 |
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Mowilem ze
1) set ID=id jest zbedne totalnie 2) Mowilem bys dane z POST pobral bezposrednio przed zapytaniem. Co tu jest niezrozumialego? |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 0 Dołączył: 20.02.2018 Ostrzeżenie: (0%) ![]() ![]() |
2 w którym dokładnie miejscu? Przed $querytrzy ?
tak ma to wyglądać? if(isset($_POST['submit'])) { $target="../zdjecia_panel/".basename($zdjecie); $naglowek = $_POST['naglowek']; $tekst = $_POST['tekst']; echo$naglowek; $querytrzy = "UPDATE dodaj_informacje_blog SET id='$id', data=NOW(), naglowek='$naglowek', zdjecie='$zdjecie', tekst='$tekst'"; mysqli_query($db, $querytrzy); echo '<p class="info">Informacje zostały zaktualizowane.</p>'; } Ten post edytował ob1 31.10.2018, 15:34:17 |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Tak.
I nie miales wywalic ID z WHERE, tylko z SET.... SET id='$id', to id='$id', ma zniknac |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 0 Dołączył: 20.02.2018 Ostrzeżenie: (0%) ![]() ![]() |
ok, data też jest z automatu, więc ją też wywalić?
$querytrzy = "UPDATE dodaj_informacje_blog SET data=NOW(), naglowek='$naglowek', zdjecie='$zdjecie', tekst='$tekst' WHERE id='$id'"; czy $querytrzy = "UPDATE dodaj_informacje_blog SET 0,0, naglowek='$naglowek', zdjecie='$zdjecie', tekst='$tekst' WHERE id='$id'"; Ten post edytował ob1 31.10.2018, 17:30:58 |
|
|
![]()
Post
#14
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Pierwsza wersja powinna zostac.
A czy tekst nformacje zostały zaktualizowane.< wyswietla ci sie w ogole? Bo moze w ogole nie wchodzi do tego bloku? |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 0 Dołączył: 20.02.2018 Ostrzeżenie: (0%) ![]() ![]() |
Niestety nadal nie zmienia danych, tzn nie wstawia ich do bazy
Obecnie wygląda to tak. Nie wstawia żadnych wartości, bo nie pobiera nawet z echo w if submit. Nie mam pojęcia jak to ugryźć.
Ten post edytował ob1 31.10.2018, 20:20:57 |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
A niby gdzie w tym formularzu masz name=submit?
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 0 Dołączył: 20.02.2018 Ostrzeżenie: (0%) ![]() ![]() |
Wszystko ok, tytul i naglowek dodaja sie, tylko potrzebuje jeszcze czegoś w stylu "gdy zdjęcie nie zostało zmienione, zostaw aktualne".
Jest tak, że gdy zmieniam tytul, naglowek i zdjecie to wszystko jest ok i wszystko sie zmienia. Gdy zmieniam tytul i naglowek, wtedy przesylane zdjecie jest puste, pusty plik z losowa sciezka Potrzebuję czegoś w stylu: if(!isset($_FILES['zdjecie'])) { $target = GWP . $zdjecie; move_uploaded_file($_FILES['zdjecie']['tmp_name'], $target); } Obecnie wygląda to tak:
Ten post edytował ob1 31.10.2018, 21:23:47 |
|
|
![]()
Post
#18
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No to jesli zdjecie nie bylo wyslane to nie;
$querytrzy = "UPDATE dodaj_informacje_blog SET data=NOW(), naglowek='$naglowek', zdjecie='$zdjecie', tekst='$tekst' WHERE id='$id'"; a $querytrzy = "UPDATE dodaj_informacje_blog SET data=NOW(), naglowek='$naglowek', tekst='$tekst' WHERE id='$id'"; prosty IF na wykonanie albo pierwszego zapytania albo drugiego |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 0 Dołączył: 20.02.2018 Ostrzeżenie: (0%) ![]() ![]() |
ok ale
1.
czy 2
czy 3
Ten post edytował ob1 2.11.2018, 03:30:25 |
|
|
![]()
Post
#20
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
To zalezy gdzie te IFy wstawisz, bo widze $zdjecie tworzysz w paru miejscach
A nie mozesz poprostu PUSTOSC sprawdzac od razu na tym $_FILES['zdjecie']['name']? Po co sobie komplikujesz zycie? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 23:15 |