Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Modyfikacja skryptu
rafff
post 21.10.2007, 13:27:14
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 20.10.2007

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


Witam!
Wiem, ze temat byl poruszany 1000 razy, ale licze na Wasza znajomosc php. Otoz mam skrypt pobierajacy wartosc poszczegolnych walut i dziala on bez zarzutu. Jednak pobiera wartosc wszytskich walut (kupna i sprzedazy) a mi zalezy glownie na wartosci sprzedazy USD. Jak go skorygowac tak, by pokazywal glownie dolary? Oto kod:
  1. <?
  2. # pliki
  3.  $f_old  = "./tmp/old.tmp";
  4.  $f_today = "./tmp/today.tmp";
  5.  $f_date = "./tmp/date.tmp";
  6.  #zmienne
  7.  $v_date = date("Y-M-d");
  8.  $download = no;
  9.  #pobierz date z pliku
  10.  $handle = fopen($f_date, "r");
  11.  flock($handle,1);
  12.  $f_dateread = fgets($handle);
  13.  flock($handle,3);
  14.  fclose($handle);
  15.  # sprawdz czy mamy stary plik
  16. if($v_date != $f_dateread)
  17.  {
  18.  $handle = fopen($f_date, "w");
  19.  flock($handle,2);
  20.  fwrite($handle, $v_date);
  21.  flock($handle,3);
  22.  fclose($handle);
  23.  $download = ok;
  24.  }
  25.  # funkcja pobierajaca stronę
  26. function httpGet ( $file_name ) {
  27. $file = fopen($file_name, "r");
  28. while (!feof ($file)) { $buffer = fgets($file, 4096);
  29. $out .= $buffer;
  30. if ( $buffer == "" ) { fclose($file); return $out; }
  31. } fclose ($file);
  32. return $out;
  33. }
  34.  # pobieranie
  35.  if($download == ok)
  36. {
  37.  $t = @httpGet("http://nbp.pl/kursy/kursyc.html");
  38.  # zapisz dane do OLD
  39.  $new_old = @httpGet($f_today);
  40.  $handle = fopen($f_old, "w");
  41.  flock($handle,2);
  42.  fwrite($handle, $new_old);
  43.  flock($handle,3);
  44.  fclose($handle);
  45.  #zapisz dane do TODAY
  46.  $handle = fopen($f_today, "w");
  47.  flock($handle,2);
  48.  fwrite($handle, $t);
  49.  flock($handle,3);
  50.  fclose($handle);
  51. }
  52. else 
  53. {
  54.  $t = @httpGet($f_today);
  55.  $o = @httpGet($f_old);
  56. }
  57. $t = strip_tags($t);
  58.  $o = strip_tags($o);
  59.  @preg_match_all("/(.*)*/", $t, $matches_t);
  60.  @preg_match_all("/(.*)*/", $o, $matches_o);
  61.  # wy?wietlanie
  62. $offset = 6;
  63. echo "<table width=170 border=0 cellspacing=0 cellpadding=0>\n";
  64. echo "<tr>\n";
  65. echo "<td class=head>Waluta</td>";
  66. echo "<td class=head>Kupno</td>";
  67. echo "<td class=head>Sprzedaż</td>";
  68. echo "</tr>\n";
  69.  for($i=8;$i<=24;$i++)
  70. {
  71. $a = $i . $offset;
  72. echo "<tr>\n";
  73. echo "<td>".$matches_t[0][$a]."</td>";
  74. #kupno
  75. echo "<td";
  76. if(substr($matches_t[0][$a+2],0,4) == substr($matches_o[0][$a+2],0,4)) echo "";
  77. else if(substr($matches_t[0][$a+2],0,4) > substr($matches_o[0][$a+2],0,4)) echo " class=wzrost";
  78. else echo " class=spadek";
  79. echo ">".substr($matches_t[0][$a+2],0,4)."</td>";
  80. #sprzedaz
  81. echo "<td";
  82. if(substr($matches_t[0][$a+4],0,4) == substr($matches_o[0][$a+4],0,4)) echo "";
  83. else if(substr($matches_t[0][$a+4],0,4) > substr($matches_o[0][$a+4],0,4)) echo " class=wzrost";
  84. else echo " class=spadek";
  85. echo ">".substr($matches_t[0][$a+4],0,4)."</td>\n";
  86. echo "</tr>\n";
  87. $offset+=2; if($offset == 10) { $i++; $offset = 0; }
  88. }
  89.  echo "</table>";
  90. ?>

Z gory dziekuje

Ten post edytował rafff 21.10.2007, 14:29:44
Go to the top of the page
+Quote Post
Inzabi
post 21.10.2007, 14:23:13
Post #2





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 2.10.2007
Skąd: Wrocław

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


Wrzuć kod w [php][/php]
Go to the top of the page
+Quote Post
phoenix7
post 21.10.2007, 18:09:05
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 30.08.2007
Skąd: Wrocław

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


Witam

Najszybszy sposób to będzie wrzucenie warunku if tak jak poniżej (jeśli o to ci chodzi):

  1. <?php
  2. for($i=8;$i<=24;$i++)
  3. {
  4. $a = $i . $offset;
  5. if ($matches_t[0][$a] == "#oznaczenie_waluty#") { // oznaczenie waluty np. usd (w zależności jak masz w plikach)
  6. echo "<tr>\n";
  7. echo "<td>".$matches_t[0][$a]."</td>";
  8. #kupno
  9. #...
  10. #sprzedaz
  11. #...
  12. echo "</tr>\n";
  13. }
  14. $offset+=2; if($offset == 10) { $i++; $offset = 0; }
  15. }
  16. ?>


Ogólnie może to zadziałać, ale ciężko stwierdzić jeśli nie znam zawartości plików z których to wyciągasz.

Pozdrawiam
PhoeniX
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 Wersja Lo-Fi Aktualny czas: 18.07.2025 - 04:26