![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 25.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam sprawa niby oczywista,jednak stwarza problem:
Istnieje wyszukiwarka znajdujaca interesującą nas linie z pliku "baza.txt". Dodam, że wyszukiwarka znajduje linie za pomocą autora i tytulu (2 pierwsze kolumny w tabeli) nastepnie wyswietla nam to co znalazł i automatycznie zapisuje do innego pliku "postoj.txt". A tutaj tkwi problem: Co należałoby zrobić aby po zapisaniu do "postoj" jednoczesnie wykasował tą linię z "baza.txt" ![]() Tak, aby po zedytowaniu możnabyłoby spokojnie zapisać do "baza.txt" nową ksiazke bez obawiania się, że stary(bledny) wpis nadal istnieje. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 726 Pomógł: 129 Dołączył: 10.01.2008 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Może jakieś zastępowanie znalezionej linii pustą?
-------------------- Pomogłem? Kliknij przycisk Pomógł pod pomocnym Ci postem.
http://maxik.me/ |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 116 Pomógł: 119 Dołączył: 10.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
A nie łatwiej wykorzystać do tego celu zwykła bazę danych. Chociażby nawet SQLite? Tam już wszystkie tego typu problemy są wyeliminowane
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 25.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Z racji mojej upartości pozostaje przy plikach. Może z czasem zmienie na MySql-a ale poki co tylko na plikach pracuje.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 850 Pomógł: 120 Dołączył: 15.02.2007 Skąd: Łódź Ostrzeżenie: (10%) ![]() ![]() |
może tak:
Kod $linia = str_replace("|$autor|$tytul\n","",$linia ); //tutaj podaj jak wyglada Twoja linia w baza.txt
Ten post edytował Lion_87 14.01.2008, 15:23:55 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 25.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
baza.txt
Kod Sienkiewicz Henryk||Potop||PWN||2005||4532/5422||powiesc||historyczna||jazda na szweda Sienkiewicz Henryk||Pan Wołodyjowski||PWN||1785||45632/75645||powiesc||historyczna||ciekawa ed.php
Przepraszam Lion_87 ale nie zabardzo rozumiem jak do powyższego kodu zastosować twoją propozycje. powinien otowrzyc plik baza.txt do odczytu i zapisu ('r+') ale reszty jakoś nie łapie. co podstawić do $linia, bo z twojego zapisu wyglada jakby ona sama siebie szukala. EDIT: godzina 3:04 15 stycznia 2008 // Krok po kroku OD ostatniego postu sprawa ruszyła do przodu (nocne pisanie widocznie mi służy), doszedlem do etapu usunięcia i mam problem: plik baza.txt wyglada tak samo jak wyżej:
I problem polega na tym ze nie kija jak to działa, wiem że to powinno inaczej wygladać, ale poki co jest tak jak widzicie. Moja prośba prosta - co zrobic aby po usunieciu tej lini ($sprawa) zapisać reszte pliku baza.txt na nowo. Tak usunięcie zakończyło się w pełni sukcesem. Ten post edytował Krisso 15.01.2008, 03:46:10 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 850 Pomógł: 120 Dołączył: 15.02.2007 Skąd: Łódź Ostrzeżenie: (10%) ![]() ![]() |
moze to pomoże
Kod <?
$plik = "baza.txt"; $fopen = fopen ($plik , "r"); $zmien = fread ($fopen, filesize ($plik)); fclose ($fopen); if(strstr($zmien,"".$line[0]."||".$line[1]."||".$line[2]."||".$line[3]."||".$line[4]."||".$line[5]."||".$line[6]."||".$line[7]."")){ $plik = "baza.txt"; $fsee = fopen($plik,'w'); $zmien = str_replace(""$line[0]."||".$line[1]."||".$line[2]."||".$line[3]."||".$line[4]."||".$line[5]."||".$line[6]."||".$line[7]."\n","",$zmien); fputs($fsee, $zmien); fclose($fsee); ?> |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 25.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
NIe za bardzo rozumiem kolego jak ten kod ma działać, więc jeśli można prosic to jakiś mały komentarzyk
![]() A ponieważ muszę skończyć ten projekt i to jak najszybciej,a ja z jakiegos powodu nie mogę usunąć wybranej lini. Używając twojej podopowiedzi pojawia sie blad, na ktory nie mam koncepcji pozbycia sie. Czyli nadal jestem na etapie, gdy znaleziono linie do usunięcia, ale nie wiem jak się jej teraz pozbyć. |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 145 Pomógł: 16 Dołączył: 19.07.2007 Skąd: Elbląg Ostrzeżenie: (0%) ![]() ![]() |
wyszuć if z tego wyżej i powinno działać
-------------------- |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 25.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Kod juz działa ale nadal z dużym minusem.
Zamiast kasować mi wybraną linię kasuje wszystkie od początku pliku i zapisuje tylko tą która była edytowana. EDIT: juz sie zorientowalem dziursoni poprawilem tą linie z brakującą kropką, ale pozostaje problem skasowania wszystkiego a nie tylko wybranej lini. Ten post edytował Krisso 16.01.2008, 17:51:38 |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 145 Pomógł: 16 Dołączył: 19.07.2007 Skąd: Elbląg Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 25.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
OKI już sobie jakoś z tym poradziłem, ale poki co to jest po prostu fuszerka. Tzn.działa jak należy ale funkcjonalnie daje sobie "-5" a estetyka "-9" w skali 0-10
![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 21:41 |