Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Edycja danych z pliku *.txt.
moto0095
post
Post #1





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 12.03.2010

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


Witam. Szukałem w google, sam kombinowałem, i nic (IMG:style_emoticons/default/sad.gif) .
A więc tak jak w temacie chodzi mi o skrypt który pozwalał by na edycję danych z pliku *.txt.
Dokładnie taki jak [TUTAJ].
Zna ktoś coś takiego (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif)

P.S. - strasznie mi jest to potrzebne.

Kombinując dalej udało mi się uzyskać coś takiego:
  1. <?php
  2. $plik = "db.txt";
  3.  
  4. if ((isset($_POST['usun'])) AND (is_numeric($_POST['usun']))) {
  5. /* sprawdzam czy zmienna $_POST['usun'] zostala zainicjonowana i czy jest cyfrą */
  6.  
  7. $dane = file($plik); /* pobieram dane z pliku */
  8. unset($dane[$_POST['usun']]); /* usuwam wybrany rekord tablicy */
  9. $f = fopen($plik, "w"); /* nawiązuje połączenie z plikiem i kasuje jego zawartosc */
  10. foreach($dane as $linia){
  11. $linia = $_POST['text'];
  12. fputs($f, $linia); /* wprowadzam linie po linii do pliku */
  13. }
  14. fclose($f); /* zamykam polączneie z plikiem */
  15.  
  16. }
  17.  
  18. ?>
  19.  
  20. <form action="" method="post">
  21. <?php
  22. $dane = file($plik);
  23.  
  24. for($i=0;$i<count($dane);$i++) {
  25. list($imie[$i], $nazwisko[$i], $miejscowosc[$i]) = explode(" || ", $dane[$i]);
  26. }
  27.  
  28. for($i=0;$i<count($imie);$i++)
  29. echo '<input type="radio" name="usun" value="'.$i.'">'.$imie[$i]." ".$nazwisko[$i].", ".$miejscowosc[$i]."<br>";
  30.  
  31. ?>
  32. <input type="text" name="text">
  33. <input type="submit" value="zmien" />
  34. </form>


lecz to usuwa całą zawartość pliku i zastępuje ją tą wpisaną.
A jak zrobić aby tylko dana linia się zmieniała (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif)

Ten post edytował moto0095 11.04.2010, 18:59:59
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
moto0095
post
Post #2





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 12.03.2010

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


Dane w pliku zapisują się tak:
jeden||dwa||trzy
jeden||dwa||trzy
jeden||dwa||trzy
jeden||dwa||trzy
jeden||dwa||trzy
(...)



I nie mam kompletnie pomysłu jak to zrobić. Bo mam dwa skryty, jeden dodaje, a drugi usuwa i nie wiem jak to połączyć:
Dodawanie:
  1. <?php
  2. if ($_POST['button'] == "wyslij") {
  3. /* sprawdzam czy dane zostały wysłane z formularza */
  4. $plik = "db.txt";
  5. if (is_writeable($plik)) {
  6. /* sprawdzam czy plik jest do zapisu */
  7. if (!$handle = fopen($plik, "a")) echo "Nie mogę otworzyć pliku...";
  8. if (fwrite($handle, $_POST['imie']." || ".$_POST['nazwisko']." || ".$_POST['miejscowosc']."
  9. ") === FALSE) echo "Nie mogę zapisać danych do pliku...";
  10. else echo "Dane zostały dodane...";
  11. fclose($handle);
  12.  
  13.  
  14. } else echo "Plik nie istnieje lub jest nie do zapisu...";
  15. }
  16. ?>
  17.  
  18. <form action="dodaj.php" method="post">
  19. Imię: <input type="text" name="imie" /><br />
  20. Nazwisko: <input type="text" name="nazwisko" /><br />
  21. Miejscowość: <input type="text" name="miejscowosc" /><br />
  22. <input type="submit" name="button" value="wyslij" />
  23. </form>



i Usuwanie:
  1. <?php
  2. $plik = "db.txt";
  3.  
  4. if ((isset($_POST['usun'])) AND (is_numeric($_POST['usun']))) {
  5. /* sprawdzam czy zmienna $_POST['usun'] zostala zainicjonowana i czy jest cyfrą */
  6.  
  7. $dane = file($plik); /* pobieram dane z pliku */
  8. unset($dane[$_POST['usun']]); /* usuwam wybrany rekord tablicy */
  9.  
  10. $f = fopen($plik, "w"); /* nawiązuje połączenie z plikiem i kasuje jego zawartosc */
  11. foreach($dane as $linia){
  12. fputs($f, $linia); /* wprowadzam linie po linii do pliku */
  13. }
  14. fclose($f); /* zamykam polączneie z plikiem */
  15.  
  16. }
  17.  
  18. ?>
  19.  
  20. <form action="usun.php" method="post">
  21. <select name="usun">
  22. <?php
  23. $dane = file($plik);
  24.  
  25. for($i=0;$i<count($dane);$i++) {
  26. list($imie[$i], $nazwisko[$i], $miejscowosc[$i]) = explode(" || ", $dane[$i]);
  27. }
  28.  
  29. for($i=0;$i<count($imie);$i++)
  30. echo '<option value="'.$i.'">'.$imie[$i]." ".$nazwisko[$i].", ".$miejscowosc[$i]."</option>";
  31.  
  32. ?>
  33. </select>
  34. <input type="submit" value="usun" />
  35. </form>


Ma ktoś jakiś pomysł(IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 17.10.2025 - 01:38