![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 2 Dołączył: 30.03.2006 Ostrzeżenie: (10%) ![]() ![]() |
Skrypt usuwający wpisy z bazy danych opartej na plikach tekstowych:
Potrzebuje napisać skrypt pozwalający na usuwanie wybranych rekordów z bazy danych opartej na plikach tekstowych. Czy ktoś mógłby mi w tym pomóc? Przykład i zasada zapisu/kodowania w bazie danych: kod artykułu|nazwa artykułu|cena brutto|cena netto|data|czas|indeks główny|indeks lini 001|Towar A|30|15|05.10.2008|11:36:19|4001|1 Indeks główny - to numer paragonu/transakcji (w trakcie jednej transakcji można sprzedac kilka artykułów). Składa się on z prefiksu (numer ´400´ - to numer stały,niezmienny) i numeru paragonu (liczba naturalna dodatnia). Np. pierwszy paragon ma numer - ´4001´, drugi - ´4002´, trzeci - ´4003´, itd. Indeks lini - to numer linni w bazie danych, który jest liczbą naturalną dodatnią. Służy do identyfikacji konkretnego artykułu w bazie danych. Przykładowy wycinek bazy danych:
Zasada działania: 1. Mamy stronę wyglądającą jak na rysunku nr. 1. Mamy tam pole, w którym wpisujemy numer/kod paragonu/transakcji, będący numerem indeksu głównego znajdującego się w bazie danych. Po wpisaniu tego numeru należy wcisnąć przycisk "Dalej", który przenosi nas do następnego kroku. 2. Mamy już wygenerowaną stronę wyglądającą jak na rysunku nr. 2. Wszystkie szare pola wypełniają się wg. opisu na rysunku. Po naciśnięciu przycisku "Usuń" nastąpi usunięcie danej linijki z bazy danych. Przykładowe rysunki wg. wcześniejszego wycinku bazy danych: Po naciśnięciu przycisku "Usuń" znajdującego się w tej samej linii, co "Towar B", nastąpi usunięcie całej linijki z "Towar B" z bazy danych. Tym samym linijki numer 2 (indeks lini). Poniżej przytaczam listingi, przykładowych aplikacji do usuwania: Rozwiązanie 1 (plik "a.php"):
Rozwiązanie 2 (plik "usun.php"):
W formularzu wpisujemy numer linii w pliku tekstowym, który liczymy od 0 (tzn.,że pierwsza linnia w pliku tekstowym ma numer - 0, druga - 1,trzecia - 2,itd. Listing bazy danych (plik "baza.txt"):
Powyższe aplikacje mają jednak kilka niedopatrzeń. Rozwiązaniem, które chciałem wykorzystać jest rozwiązanie nr. 1. Jego problem polega na tym, że po uruchomieniu, nawet gdy nie wpisze się numeru linii do usunięcia lub też ten numer został już usunięty, to skrypt ten usuwa pierwszy rekord z bazy. Czyli wystarczy kilka razy odświeżyć stronę i wyczyścimy całą bazę danych. W listingach z bazą danych niepotrzebnie dodano " <?php ... ?> ". Proszę o pomoc. Najlepiej jakieś przykłady. Ten post edytował dsinfo 9.11.2008, 15:08:15 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 29.06.2025 - 06:34 |