Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Lista z mozliwoscia edycji, Jak sie do tego zabrac?
Macieqqq
post
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 19.04.2007

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


Prosze o pomoc, tzn. o wytlumaczenie co po kolei robic, aby powstalo cos takiego (nie prosze o gotowy kod):

1. W formularzu wpisujemy dane dotyczace wpisu: dana_1, dana_2, itd. Zapisujemy go do pliku.
2. Wyswietlamy tylko wybrane dane z tego pliku (np. w tabelce):

Kod
wpis_1_dana_1          wpis_1_dana_3          wpis_1_dana_7
wpis_2_dana_1          wpis_2_dana_3          wpis_2_dana_7
wpis_3_dana_1          wpis_3_dana_3          wpis_3_dana_7
wpis_4_dana_1          wpis_4_dana_3          wpis_4_dana_7


3. Po kliknieciu na dany wpis, nastepuje przejscie do strony, gdzie wyswietla sie wszystkie dane o wpisie.
4. Mozliwosc edycji i usuwania wpisow, np.:

Kod
wpis_1_dana_1          wpis_1_dana_3          wpis_1_dana_7          edytuj     usun



Zalezy mi, aby zrobic to w PHP.

Teoretycznie wiam jak zrobic punkt 1 i 2, ale chcialbym sprawdzic czy dobrze mysle.



Z gory dziekuje
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Macieqqq
post
Post #2





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 19.04.2007

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


Udalo mi sie zrobic plik edytuj.php:

  1. <?php
  2. if ($_POST['button'] == "wyslij") {
  3. $plik = "db.txt";
  4. if (is_writeable($plik)) {
  5. if (!$handle = fopen($plik, "a")) echo "Nie mogę otworzyć pliku...";
  6. if (fwrite($handle, $_POST['dana_1']."|~~|".$_POST['dana_2']."|~~|".$_POST['dana_3']."
  7. ") === FALSE) echo "Nie mogę zapisać danych do pliku...";
  8. else echo "Edytowano";
  9. fclose($handle);
  10. } else echo "Plik nie istnieje lub jest nie do zapisu...";
  11. }
  12. $x = $_GET['id'];
  13. $plik = "db.txt";
  14. $dane = file($plik);
  15. list($dana_1[$x], $dana_2[$x], $dana_3[$x]) = explode("|~~|", $dane[$x]);
  16. unset($dane[$x]);
  17. $f = fopen($plik, "w");
  18. foreach($dane as $linia){
  19. fputs($f, $linia);
  20. }
  21. fclose($f);
  22. echo "
  23. <form action='edytuj.php' method='post'>
  24. Dana_1: <input type='text' name='dana_1' value='".$dana_1[$x]."' /><br />
  25. Dana_1: <input type='text' name='dana_2' value='".$dana_2[$x]."' /><br />
  26. Dana_1: <input type='text' name='dana_3' value='".$dana_3[$x]."' /><br />
  27. <input type='submit'' name='button' value='edytuj' />
  28. </form> ";
  29. ?>


1. Jak zmodyfikowac kod, aby nie pojawial sie formularz po edycji, a np. sam napis "Plik zostal wyedytowany"?

2. Gdy tylko "wejde" w plik edytuj.php, wpis zostanie usuniety, nawet gdy nie dodam nowego. Co na to poradzic? Chyba trzeba jakos przekazac skryptowi, zeby usunal wpis i dodal nastepny dopiero po wcisnieciu przycisku "edytuj"?

3. Jak zmodyfikowac ten skrypt, aby dane byly nadpisywane w tej samej linii? W sumie mi na tym nie zalezy, bardziej na sortowaniu, wtedy nie bedzie dla mnie wazne czy dane sa w tej samej linii co byly. Zapytam tak - jak posortowac dane, np. wedlug drugiej kolumny?


Pozdrawiam

Ten post edytował Macieqqq 31.01.2008, 21:45:52
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: 4.10.2025 - 08:25