![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 22.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie
![]() Chciałbym edytować rekordy z bazy danych w ten sposób: Rekord (w input type="text") | Aktualizuj (Submit) Czyli:
w edycjaa.php mam:
I teraz nie mam pojęcia dlaczego jak nacisnę Aktualizuj, to skrypt zwraca to co w echo czyli 'Rekord zaktualizowany'. //W edycjaa.php jest jeszcze coś takiego jak "pkt", tez mam zamiar zrobić edycje do tego, ale najpierw musze skombinować żeby jedno działało. Pozdrawiam ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
Jeśli wysyłasz formularz w takiej postaci to $_POST['pkt'] zawsze będzie miała wartość NULL, bo nie jest wogóle wysyłana. A twoj warunek mówi jeśli zmienna 'nazwa' albo 'pkt' będzie pusta, zmień to na i czyli && bądź AND bo w takim przypadku zawsze gdy jedno pole zostanie puste wywali to.
Pozdrawiam! -------------------- Najczęstsze błędy | Jak poprawnie zadać pytanie? | Serwer PHP - od czego zacząć?
SQL Injection | Hashowanie haseł | Jak działają sesje, przykłady ___ The world is yours ... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 22.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(scarface @ 2005-08-17 20:46:02) Jeśli wysyłasz formularz w takiej postaci to $_POST['pkt'] zawsze będzie miała wartość NULL, bo nie jest wogóle wysyłana. A twoj warunek mówi jeśli zmienna 'nazwa' albo 'pkt' będzie pusta, zmień to na i czyli && bądź AND bo w takim przypadku zawsze gdy jedno pole zostanie puste wywali to. Pozdrawiam! lol ![]() Więc usunolem funkcje sprawdzania czy coś zostało wpisane i mam w kodzie:
i po daniu na Aktualizuj, rekord zmieniły sie na jeden z 4 co były [każdy był inny] i zawartość pkt zostały wyzerowana. Wiec co tu nie tak? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
lol ?
Zmieniły Ci się dla wszystkich bo nie widze w Twoim zapytaniu WHERE.. Czyli nie zdefiniowałeś który rekord ma być UPDATE'owany. -------------------- Najczęstsze błędy | Jak poprawnie zadać pytanie? | Serwer PHP - od czego zacząć?
SQL Injection | Hashowanie haseł | Jak działają sesje, przykłady ___ The world is yours ... |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 22.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(scarface @ 2005-08-17 21:00:49) lol ? Zmieniły Ci się dla wszystkich bo nie widze w Twoim zapytaniu WHERE.. Czyli nie zdefiniowałeś który rekord ma być UPDATE'owany. ![]()
I dalej nie działa. Dodam że z bazami danych mam styczność od wczoraj ![]() Pozdrawiam |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
musisz mieć coś, co jednoznaczie identyfikuje rekord. Zazwyczaj jest to pole ID. CZyli zapytanie tak powinno wyglądać:
Tylko aby to zadziało musialbyś miec podane to ID, czyli wysylać je razem z nazwa porzez formualrz. Pytanie brzmi czy masz takie pole. Moze u ciebie tym polem jest 'nazwa', ale widzę w formularzu, że może być ono zmieniane, więc odpada -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 22.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(nospor @ 2005-08-18 07:45:40) musisz mieć coś, co jednoznaczie identyfikuje rekord. Zazwyczaj jest to pole ID. CZyli zapytanie tak powinno wyglądać: Tylko aby to zadziało musialbyś miec podane to ID, czyli wysylać je razem z nazwa porzez formualrz. Pytanie brzmi czy masz takie pole. Moze u ciebie tym polem jest 'nazwa', ale widzę w formularzu, że może być ono zmieniane, więc odpada Hmmm właśnie nie mam pola ID, mam tylko "Nazwa" i "Pkt". Więc musze do tego stworzyć tabele ID i przypisać kazdej z wartosci wlasny ID? ![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
robisz pole id typu int auto_increment jako primary key i samo się ponadaje.
Ale pytanie czy potrzeba. Te pole nazwa to ono może się zmieniać (z forma wynika że tak), czy jednak będie stałe (bez zmian). Jesli to pole bedzie bez zmian to ono może identyfikować rekord (musisz wtedy w formie zmienic input z text na hidden, aby gostek nie mogł modyfikować). Aczkolwiek bardziej przyjaznym dla otoczenia jest id. (spór się na ten temat kiedyś toczył - wygrało id ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 22.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
OK. A pytanie za 100 pkt. A dodaleś to id do formualrza?
POkaz jeszcze raz cały nowy kod, strukture tabeli (dla pewności) i pogadamy. Albo najlepiej odezwij się na gg i dopracuejmy szczegoly edit: (dla potomnych) po ciezkich i mozolnych konweracjach (przez te konwersacje z pracy mnie wyrzucą ![]() Oto efekt: edycja1.php
edycjaa.php:
dodano pole id. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 22.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
nospor: Dzięki za pomoc!
Pozdrawiam wszystkich :] |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 09:36 |