![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 24.02.2008 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam, oto mój problem. Po zaznaczeniu rekordu i wciśnięciu EDYTUJ zadany rekord wyświetla się i jest gotowy do edycji. Po wprowadzeniu zmian i kliknięciu ZAPISZ, zmiany zostają zachowane w zadanym rekordzie jednak tworzy się kolejny z tymi samymi danymi. Jak temu zapobiec? Kod w linku ponieważ ograniczenia długości/wielkości postów nie pozwoliły wkleić go tutaj.
[PHP][MySQL]Skąd się bierze dodatkowy rekord? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 20 Dołączył: 20.04.2004 Skąd: Wielkopolska Ostrzeżenie: (0%) ![]() ![]() |
nie wykonujesz podczas edycji zarówno UPDATE jak i INSERT na bazie danych ?
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 859 Pomógł: 177 Dołączył: 29.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Trochę bardziej czytelne: http://wklej.org/hash/c0555ed23a5/
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 24.02.2008 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Wkleiłem w 171 aby w ogóle nie wchodzić do sekcji dodawania nowego wpisu. Sądzę, że rozwiązało problem ale przetestuję jeszcze.
Okazało się, że podczas kiedy użytkownik wciska EDIT dodaje mu automatycznie nowy pusty rekord (wyświetlając też ten do edycji) ale dzieje się to tylko w Operze. Jak temu zaradzić? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 283 Pomógł: 31 Dołączył: 10.01.2006 Skąd: Działoszyn Ostrzeżenie: (0%) ![]() ![]() |
Nie bardzo potrafie się w tym kodzie odnaleźć, być może dlatego, że już późno. Niemniej jednak spróbuj zamiast kolejnych if-ów dawać elseif, na zasadzie:
Tym sposobem wykona się tylko jeden warunek, w przeciwnym razie wykonasz jeden i przejdziesz do następnego - i wykonasz go, jeśli będzie prawdziwy, a chyba nie to było Twoim zamierzeniem (jeśli się mylę, to sorki). Ten post edytował Michasko 18.01.2013, 01:18:55 -------------------- Po prawie 3-letniej przerwie w programowaniu, znowu raczkuję :) |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Nie obraź się kolego, ale ten Twój kod to zabójstwo dla serwera baz danych. Co chwila otwierasz nowe połączenia i ustawiasz kodowanie:
podczas gdy powinieneś to zrobić tylko raz, na samym początku skryptu. Poza tym w kilku miejscach dwukrotnie wykonujesz takie same zapytania niemal jedno pod drugim, jak np.:
Gubisz niektóre tagi HTML, co powoduje, że nie można kodu prawidłowo sformatować w edytorze z podświetlaniem składni. Kod zdecydowanie wymaga reorganizacji, głównie ze względu na to, że otwartych połączeń z serwerem baz danych masz w optymalnym ustawieniu chyba 5, a niepotrzebnych zapytań chyba jeszcze więcej (choć tego nie liczę). Ten post edytował mortus 18.01.2013, 09:02:39 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 24.02.2008 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za konstruktywną krytykę, usunąłem już zbędne linie z połączeniem i kodowaniem ale jeżeli chodzi o takie same zapytania... to nie bardzo rozumiem. Te dwa, które podałeś jako przykład pobierają dane z dwóch różnych tabel. Co do tagów HTML to raczej wszystkie są i mój edytor podświetla mi bez zarzutu. Może kwestia nie przeklejenia tam całego kodu spowodowała problem z tagami. Jeżeli mógłbyś jeszcze coś doradzić to chętnie się zastosuję, jeżeli miało by to skrócić mój kod lub zoptymalizować go w jakimś sensie.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 10:27 |