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%)
-----


puz219, wydaje mi sie, ze zrobiles to tylko dla 3 wpisow, ale moge sie mylic. Troche skomplikowane...

Wydaje mi sie, ze zrobilem cos prostszeego, ale mam problemy...

Pokaz.php:
  1. <?php
  2. $plik = "db.txt";
  3. $dane = file($plik);
  4. $ile = count($dane);
  5.  
  6. for($x=0; $x < $ile; $x++) {
  7. list($dana_1[$x], $dana_2[$x], $dana_3[$x]) = explode("|~~|", $dane[$x]);
  8. echo "<a href='pokaz.php?id=$x&akcja=calosc'>".$dana_1[$x]."</a> ".$dana_2[$x]." --> <a href='edytuj.php?id=$x'>Edytuj</a> || <a href='skasuj.php?id=$x'>Skasuj</a><br />";
  9. }
  10.  
  11. if ($akcja == 'calosc'){
  12. $x = $_GET['id'];
  13. $akcja = $_GET['akcja'];
  14. echo "<a href='pokaz.php?id=$x&akcja=calosc'>".$dana_1[$x]."</a> ".$dana_2[$x]." ".$dana_3[$x]." --> <a href='edytuj.php?id=$x'>Edytuj</a> || <a href='skasuj.php?id=$x'>Skasuj</a><br />";
  15. }
  16.  
  17. ?>


Skasuj.php:
  1. <?php
  2. $plik = "db.txt";
  3. $dane = file($plik);
  4.  
  5. $x = $_GET['id'];
  6. unset($dane[$x]);
  7. $f = fopen($plik, "w");
  8. foreach($dane as $linia){
  9. fputs($f, $linia);
  10. }
  11. fclose($f);
  12. echo 'Plik usuniety. <A HREF="pokaz.php">Pokaz liste</A>.';
  13.  
  14. ?>


Tylko w Operze, po tym jak klikne "Pokaz liste" zawartosc listy sie nie odswieza (widac skasowany wiersz) - efekt daje dopiero reczne odswiezenie. Jest na to jakis sposob? Znalazlem takie rozwiazanie, ale nie wiem czy jest odpowiednie:

  1. <?php
  2. header("Cache-Control: no-store, no-cache, must-revalidate");
  3. header("Cache-Control: post-check=0, pre-check=0", false);
  4. header("Pragma: no-cache");  
  5. ?>

oraz

  1. <meta name="Pragma" content="no-cache" />
  2. <meta name="Cache-Control" content="no-store, no-cache, must-revalidate" />
  3. </head>



Czy mozecie mi pokazac jak w tym skrypcie modyfikowac dany wpis w pliku? Link zrobilem jak widac taki, jak przy usuwaniu:

  1. <a href='edytuj.php?id=$x'>Edytuj</a>


A wiec w pliku edytuj.php musialby sie zanlezc formularz, ktory odczyta dane z danego wersu w pliku, a nastepnie nadpisze zmienione dane. Przeczytalem, ze trzeba usunac dany wpis i zastapic go nowym.

Mozecie pokazac?


Z gory dziekuje
Pozdrawiam

Ten post edytował Macieqqq 30.01.2008, 22:08:54
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: 14.10.2025 - 03:16