Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] kolejność wpisów
zico_biezanow
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 7.10.2006

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


Witam. Chodzi mi o kolejnosc wpisów w kodzie: (nowo dodany wpis zostaje zapisany do pliku na koncu gdyz fopen ma tryb "a" ! A ja potrzebuje zeby nowy wpis zostawal dodawany na poczatku ! Jak to zrobic? sprawdzalem z innymi trybami i mi sie nie udalo :/ z "w" jest lipa bo zastepuje mi nowy wpis poprzednie wpisy :/ help !

  1. <HTML>
  2. <HEAD>
  3. <center>
  4. <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">
  5. <META NAME="Author" CONTENT="Skr3czu">
  6. <title>NewSor by Skr3czu</title>
  7. <LINK REL="stylesheet" HREF="style.css" TYPE="text/css">
  8. </HEAD>
  9. <BODY>
  10.  
  11. <TABLE WIDTH="500" BORDER="0">
  12. <TR>
  13. <TD WIDTH="500">
  14.  <ul>
  15. <hr width="400" noshade size="1" align="left">
  16. <br><br>
  17. Tutaj dodaje się newsy
  18. <?php
  19. function load($file){
  20. $plik = @file( $file ) ;
  21. if ( empty( $plik )) return "" ;
  22. $count = count( $plik ) ;
  23. for( $a = 0 ; $a < $count ; $a++ )
  24. $e[$a] = chop( $plik[$a] ) ;
  25. return $e ;
  26. }
  27. function add($file, $line ){
  28. if(file_exists( $file )){$plik = @fopen( $file, "a" );}
  29. flock( $plik, 2 ) ;
  30. fwrite( $plik, $line ) ;
  31. flock( $plik, 3 ) ;
  32. fclose( $plik ) ;
  33. }
  34.  
  35. if ($_POST['opisy']){
  36. $nick=$_POST['nick']; $opis=$_POST['opis'];
  37. add("dane.dat", "<b><big>".$nick."</b></big><br><br><b>".$opis."</b><br>---------------------------------------------------------------------------<br>Dodał:<b>Admin</b><br><br>");
  38. }
  39. ?>
  40. </head>
  41. <body>
  42. <p align="center">
  43. <table align="center" style="border-style: dashed; border-width: 1px; border-color: black">
  44. <tr>
  45.  
  46. <form method="POST">
  47. <div align="center"><center><table border="0" cellpadding="0"
  48. cellspacing="0">
  49. <tr>
  50. <td align="right">Temat:&nbsp;&nbsp;&nbsp;&nbsp</td>
  51. <td><input type="text" size="20" name="nick"></td>
  52. </tr>
  53. <tr>
  54. <td align="right">News:&nbsp;&nbsp;&nbsp;&nbsp;</td>
  55. <td><input type="text" size="20" name="opis"
  56. style="width:155px;"> <input type="submit" name="opisy"
  57. value="Dodaj"></td>
  58.  
  59. </table>
  60. </div>
  61. </form>
  62. </table>
  63. </p>
  64. Newsy dodane:<br>
  65. <?php
  66. $tmp=load("dane.dat");
  67. while (list ($key, $val) = each ($tmp)) {echo "<b>".$key."</b>. ".$val."<br>";};
  68. ?>
  69.  
  70.  
  71.  
  72. <br><br>
  73.  
  74. </center>
  75.  </ul>
  76.  
  77. </TD>
  78. </TR>
  79. </TABLE>
  80. </CENTER>
  81. </BODY>
  82. </HTML>
Go to the top of the page
+Quote Post
b0b3k
post
Post #2





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 24.08.2006

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


zawsze mozna odwrocic kolejnosc odczytywania z pliku, nie pamietam jak to lecialo ale chyba uksort ?
Go to the top of the page
+Quote Post
zico_biezanow
post
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 7.10.2006

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


a jak to konkretnie zrobic bo ja jestem zielony jesli chodzi o php

no to tutaj niemam tablic, to jest caly kod skryptu (pozniej go includuje do index.php) do wyswietlania wpisow przez formularz ! chce odwrocic tylko kolejnosc ;/
Go to the top of the page
+Quote Post
lopik
post
Post #4





Grupa: Zarejestrowani
Postów: 340
Pomógł: 0
Dołączył: 7.07.2006

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


Co to za funkcja "load" ? chyba nie ma takiej funkcji...
Tu masz coś więcej chyba źle...

PS. Zerkne na to... winksmiley.jpg

Ten post edytował lopik 7.10.2006, 16:36:53


--------------------
w3c & c++
Go to the top of the page
+Quote Post
zico_biezanow
post
Post #5





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 7.10.2006

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


wiesz no skrpyt dziala tylko potrzebuje zmienic ta nieszczesna kolejnosc wpisow ! chodzi mi tylko o kolejnosc i nic wiecej
Go to the top of the page
+Quote Post
Kuziu
post
Post #6





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

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


Zapisz zawartość pliku do zmiennej, zapisz nowy wpis z opcją W co skasuje stare wpisy i zapisz na koncu to co trzymasz w zmiennej.


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
Go to the top of the page
+Quote Post
zico_biezanow
post
Post #7





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 7.10.2006

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


a podasz mi kod jak to zrobic bo nie bardzo rozumiem
Go to the top of the page
+Quote Post
dzobert
post
Post #8





Grupa: Zarejestrowani
Postów: 46
Pomógł: 1
Dołączył: 30.06.2006
Skąd: okolice Warszawy

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


otwórz plik z parametrem r+, a nie a

Kod
'r+'     Otwiera do odczytu i zapisu; umieszcza wskaźnik pliku na jego początku.
Go to the top of the page
+Quote Post
zico_biezanow
post
Post #9





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 7.10.2006

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


tyle że jak dam r+ to napisze cos poraz drugi w formularzu zeby mi odalo to mi nie dodaje tylko zastepuje poprzedni wpis na aktualny :/
Go to the top of the page
+Quote Post
lopik
post
Post #10





Grupa: Zarejestrowani
Postów: 340
Pomógł: 0
Dołączył: 7.07.2006

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


No niestety ;/ nie pomogę w tym skrypcie sad.gif
Jak dla mnie on jest przesadzony, można by to zrobić prościej, i z mniejszą ilością kodu php.

PS. A ten plik 'dane.dat' to troche dziwnie wygląda od środka winksmiley.jpg.

Inni pomogą smile.gif
Pozdrawiam.


--------------------
w3c & c++
Go to the top of the page
+Quote Post
XDocTorX
post
Post #11





Grupa: Zarejestrowani
Postów: 48
Pomógł: 6
Dołączył: 16.07.2006
Skąd: Jarosław

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


Nie testowałem ale tak powinno działać
  1. <?php
  2. $p="plik.txt";
  3. $dane1 = file($p);
  4. $newsF = fopen($p, "w+");
  5. flock($p, 2);
  6. fputs($p, $dane_na_poczatku."n");
  7. foreach($dane1 as $zapis)
  8. {
  9.  if ($zapis!="n"&&$zapis!="")
  10.  {
  11. fputs($p,$zapis);
  12.  }
  13. }
  14. flock($p, 3);
  15. fclose($p);
  16. ?>


Ten post edytował XDocTorX 7.10.2006, 19:42:06
Go to the top of the page
+Quote Post
zico_biezanow
post
Post #12





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 7.10.2006

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


a jak połączyc ten kod co podałes z moim kodem?
Go to the top of the page
+Quote Post
XDocTorX
post
Post #13





Grupa: Zarejestrowani
Postów: 48
Pomógł: 6
Dołączył: 16.07.2006
Skąd: Jarosław

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


tą stroną http://pl2.php.net/ wystarczy troszeczke poczytać przeanalizowac kod i scalić.

Pozdrawiam
Go to the top of the page
+Quote Post
zico_biezanow
post
Post #14





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 7.10.2006

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


połączyłem to tak ale cos chyba jest zle :/

  1. <HTML>
  2. <HEAD>
  3. <center>
  4. <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">
  5. <META NAME="Author" CONTENT="Skr3czu">
  6. <title>NewSor by Skr3czu</title>
  7. <LINK REL="stylesheet" HREF="style.css" TYPE="text/css">
  8. </HEAD>
  9. <BODY>
  10.  
  11. <TABLE WIDTH="500" BORDER="0">
  12. <TR>
  13. <TD WIDTH="500">
  14.  <ul>
  15. <hr width="400" noshade size="1" align="left">
  16. <br><br>
  17. Tutaj dodaje się newsy
  18. <?php $p="plik.txt";$dane1 = file($p);$newsF = fopen($p, "w+");flock($p, 2);fputs($p, $dane_na_poczatku."n"); foreach($dane1 as $zapis) {  if ($zapis!="n"&&$zapis!="")  { fputs($p,$zapis);  } }flock($p, 3);fclose($p); }
  19.  
  20. if ($_POST['opisy']){
  21. $nick=$_POST['nick']; $opis=$_POST['opis'];
  22. add("dane.dat", "<b><big>".$nick."</b></big><br><br><b>".$opis."</b><br>---------------------------------------------------------------------------<br>Dodał:<b>Admin</b><br><br>");
  23. }
  24. ?>
  25. </head>
  26. <body>
  27. <p align="center">
  28. <table align="center" style="border-style: dashed; border-width: 1px; border-color: black">
  29. <tr>
  30.  
  31. <form method="POST">
  32. <div align="center"><center><table border="0" cellpadding="0"
  33. cellspacing="0">
  34. <tr>
  35. <td align="right">Temat:&nbsp;&nbsp;&nbsp;&nbsp</td>
  36. <td><input type="text" size="20" name="nick"></td>
  37. </tr>
  38. <tr>
  39. <td align="right">News:&nbsp;&nbsp;&nbsp;&nbsp;</td>
  40. <td><input type="text" size="20" name="opis"
  41. style="width:155px;"> <input type="submit" name="opisy"
  42. value="Dodaj"></td>
  43.  
  44. </table>
  45. </div>
  46. </form>
  47. </table>
  48. </p>
  49. Newsy dodane:<br>
  50. <?php
  51. $tmp=load("dane.dat");
  52. while (list ($key, $val) = each ($tmp)) {echo "<b>".$key."</b>. ".$val."<br>";};
  53. ?>
  54.  
  55.  
  56.  
  57. <br><br>
  58.  
  59. </center>
  60.  </ul>
  61.  
  62. </TD>
  63. </TR>
  64. </TABLE>
  65. </CENTER>
  66. </BODY>
  67. </HTML>
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: 21.08.2025 - 06:42