Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][POMOCY] Porównanie dat
Krizis
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 1
Dołączył: 27.07.2008

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


Witam!
Posiadam taki kod php:
  1. <?php
  2. $i=0;
  3. $file = file("admins_simple.ini");
  4.  
  5. $dated = date("d");
  6. $datem = date("m");
  7. $datey = date("Y");
  8.  
  9. foreach($file as $value) {
  10. $i++;
  11. $exp = explode(" ",$value);
  12. $expa = explode("//",$value);
  13. $expdata = explode(".",$expa[1]);
  14. echo $exp[0]."<br />".$exp[1]."<br />".$expdata[0].".".$expdata[1].".".$expdata[2]."<br />";
  15.  
  16. $i = $i-1;
  17.  
  18. $dated2 = date("d", strtotime($expdata[0]));
  19. $datem2 = date("m", strtotime($expdata[1]));
  20. $datey2 = date("Y", strtotime($expdata[2]));
  21.  
  22. if ($datey2 > $datey) {
  23. echo 'YES1';
  24. } elseif (($datey2 == $datey) && ($datem2 > $datem)) {
  25. echo 'YES2';
  26. } elseif (($datey2 == $datey) && ($datem2 == $datem) && ($dated2 > $dated)) {
  27. echo 'YES3';
  28. } else {
  29. echo 'NO';
  30. }
  31. echo '<br /><hr />';
  32. }
  33. ?>

Plik ini z którego pobiera dane:
Cytat
"STEAM_0:0:26461191" "abcdefghijklmn" //30.07.2011
"STEAM_0:0:26461192" "abcdefghijklmn" //30.05.2010
"STEAM_0:0:26461193" "abcdefghijklmn" //31.05.2012
"STEAM_0:0:26461194" "abcdefghijklmn" //24.02.2011
"STEAM_0:0:26461195" "abcdefghijklmn" //02.05.2011
"STEAM_0:0:26461196" "abcdefghijklmn" //05.07.2011

I nie wiem gdzie w kodzie jest błąd ponieważ wyświetla mi:
Cytat
"STEAM_0:0:26461191"
"abcdefghijklmn"
30.07.2011
NO
"STEAM_0:0:26461192"
"abcdefghijklmn"
30.05.2010
NO

"STEAM_0:0:26461193"
"abcdefghijklmn"
31.05.2012
NO

"STEAM_0:0:26461194"
"abcdefghijklmn"
24.02.2011
NO

"STEAM_0:0:26461195"
"abcdefghijklmn"
02.05.2011
NO

"STEAM_0:0:26461196"
"abcdefghijklmn"
05.07.2011
NO

A nie we wszystkich datach powinno być NO

Proszę o szybką pomoc... Pozdrawiam (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Krizis
post
Post #2





Grupa: Zarejestrowani
Postów: 49
Pomógł: 1
Dołączył: 27.07.2008

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


nekomata wielkie dzięki (IMG:style_emoticons/default/biggrin.gif) o tym nie pomyślałem (IMG:style_emoticons/default/tongue.gif)

A mógł by ktoś w tym kodzie:
  1. <?php
  2. $i=0;
  3. $file = file_get_contents("admins_simple.ini");
  4. preg_match_all('#"(.*)" "(.*)" //([0-9]{1,})\.([0-9]{1,})\.([0-9]{1,})#',$file,$catched);
  5. $dzisiaj = strtotime(date('Y-m-d'));
  6.  
  7. foreach($catched[1] as $key => $value) {
  8. $i++;
  9. echo $value.'('.$catched[3][$key].'.'.$catched[4][$key].'.'.$catched[5][$key].')';
  10. $data = strtotime($catched[5][$key].'-'.$catched[4][$key].'-'.$catched[3][$key]);
  11. if ($dzisiaj>$data)
  12. {
  13. echo ' nie ma ';
  14. }
  15. else
  16. {
  17. echo ' ma ';
  18. }
  19. echo 'admina.<br>';
  20. echo '<br /><hr />';
  21. }
  22. ?>


Dodać coś takiego że gdy ktoś nie ma to wywala tą linijkę z pliku?

Plik admins_simple.ini wygląda tak:
Cytat
"STEAM_0:0:26461191" "abcdefghijklmn" //05.06.2010
"STEAM_0:0:26461192" "abcdefghijklmn" //15.10.2010
"STEAM_0:0:26461193" "abcdefghijklmn" //30.07.2011
"STEAM_0:0:26461194" "abcdefghijklmn" //15.10.2010
"STEAM_0:0:26461195" "abcdefghijklmn" //30.07.2011


Ten post edytował Krizis 3.06.2011, 20:21:24
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: 10.10.2025 - 13:04