Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]operacje na plikach
bemol
post
Post #1





Grupa: Zarejestrowani
Postów: 286
Pomógł: 29
Dołączył: 5.04.2007
Skąd: Rymanów Zdrój/Rzeszów

Ostrzeżenie: (0%)
-----


Chcę zbudować system oceniania dla ciekawostek. Przedstawie to co mam, a później zadam pytania.

formularz show.php
  1. <?php
  2. echo "<br /><br /><br />";
  3. echo "<center>";
  4. echo "<FORM action=ocena.php method=POST><table>";
  5. echo "<tr>";
  6. echo "<td align=center>Oceń ciekawostkę:</td>";
  7. echo "</tr>";
  8. echo "<tr>";
  9. echo "<td id=ocena valign=top><input type=submit id=ocena name=ocena value=1><input id=ocena type=submit name=ocena value=2><input id=ocena type=submit name=ocena value=3><input id=ocena type=submit name=ocena value=4><input id=ocena type=submit name=ocena value=5></td>";
  10. echo "</tr>";
  11. echo "</table></FORM>";
  12. echo "</center>";
  13. ?>


plik wykonujący ocena.php
  1. <?php
  2. @ $plik = fopen("oceny.txt", 'r+');
  3. ?>


Teraz mam takie pytanie. Utworzyłem na razie pusty plik oceny.txt. Na razie mam 60 ciekawostek, ale chcę to zrobić tak, żeby w przyszłości też można było oceniać nowe, które zostaną dodane. Chcę to zrobić tak, żeby odczytywał oceny.txt i dodawał $ocena do odpowiedniej linijki w pliku, która jest równa nr ciekawostki.
Np. wciskam ocenę 2 dla ciekawostki nr 28 i chcę, żeby w pliku oceny.txt w linijce 28 pojawił się "$ocena\n", czyli 2. Później skrypt liczy liczbę wartości linijki 28. Dodaje wartości i dzieli przez ich liczbę i zapisuje średnią do pliku wyniki.php. Chcę też zrobić tak, żeby nie można było ocenić dwa razy ciekawostki z tego samego ip.


--------------------
Tym ludziom zaufałem i dobrze na tym wyszedłem:
kresh
Darti
piotrekkr
Bez nich wiele bym nie zrobił. Dzięki im za to!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
kornel-php
post
Post #2





Grupa: Zarejestrowani
Postów: 210
Pomógł: 20
Dołączył: 7.07.2006
Skąd: Krotoszyn

Ostrzeżenie: (0%)
-----


Twierdzę, że oparcie tego na pliku tekstowym nie jest dobrym pomysłem... Proponowałbym MySQLa albo jakąś tego typu bazę...

Samo zapisywanie ocen, to nie problem, musisz tylko otworzyć plik, wyszukać (w pętli) odpowiednią linijkę i zapomocą (chyba) fputs() zapisać dane...

Ale naprawdę, zmień plik tekstowy na bazę danych, wtedy będzie łatwiej zapisywać adresy IP, które już głosowały, serio zastanów się nad tym...


--------------------
:)
Go to the top of the page
+Quote Post
bemol
post
Post #3





Grupa: Zarejestrowani
Postów: 286
Pomógł: 29
Dołączył: 5.04.2007
Skąd: Rymanów Zdrój/Rzeszów

Ostrzeżenie: (0%)
-----


Ja już o tym myślałem. Tylko jest problem. Pliki mam na STREFA.pl, która nie pozwala na czytanie bazy danych z innych hostingow. A do bazy szkolnej niestety nie mam dostepu i mieć nie będe (czyt. baza na strefa.pl).
Aha napisałes: musisz tylko otworzyć plik, wyszukać (w pętli) odpowiednią linijkę...
No właśnie z tym mam problem. za pomocą jakiej funkcji znaleźć tą linijke.
Aha i poza tym nie wiem z jakich przyczyn w bazie za chiny ludowe nie moge ustawic polskich znakow, wiec stalo by sie to dla mnie uciazliwe

Czy istnieje jakaś funkcja do wyszukania odpowiedniej linijki w pliku? Jeśli nie, to w jaki sposób to zrobić?

Ten post edytował bemol 27.04.2007, 17:34:33


--------------------
Tym ludziom zaufałem i dobrze na tym wyszedłem:
kresh
Darti
piotrekkr
Bez nich wiele bym nie zrobił. Dzięki im za to!
Go to the top of the page
+Quote Post
LBO
post
Post #4





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat(bemol @ 28.04.2007, 09:16:47 ) *
Aha napisałes: musisz tylko otworzyć plik, wyszukać (w pętli) odpowiednią linijkę...
No właśnie z tym mam problem. za pomocą jakiej funkcji znaleźć tą linijke.


Tutaj jest podany sposób na to.

Cytat(bemol @ 28.04.2007, 09:16:47 ) *
Czy istnieje jakaś funkcja do wyszukania odpowiedniej linijki w pliku? Jeśli nie, to w jaki sposób to zrobić?


Zainteresuj się funckją file" title="Zobacz w manualu PHP" target="_manual.

edit:

Zapytaj się administratora, czy serwer posiada obsługę SQLite - bardzo dobra alternatywa to jest.

Ten post edytował LBO 28.04.2007, 11:24:41
Go to the top of the page
+Quote Post
bemol
post
Post #5





Grupa: Zarejestrowani
Postów: 286
Pomógł: 29
Dołączył: 5.04.2007
Skąd: Rymanów Zdrój/Rzeszów

Ostrzeżenie: (0%)
-----


Dzięki, ale męcze się już nad tym dłuższą chwile i wyjść mi nie może sad.gif Dostanę jakiś kodzik?


--------------------
Tym ludziom zaufałem i dobrze na tym wyszedłem:
kresh
Darti
piotrekkr
Bez nich wiele bym nie zrobił. Dzięki im za to!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 19:09