Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Wyświetlanie wydarzeń
kingpc
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 31.01.2006

Ostrzeżenie: (10%)
X----


Chciałem mieć skrypt który będzie wyświetlał urodziny osób:
Kod
<?php
$file = file("urodziny.txt");
foreach ($file as $fileurodziny){
$urodzinki = explode("***", $fileurodziny);
$dzienur = $urodzinki[0];
$miechur = $urodzinki[1];
$rokur = $urodzinki[2];
$ktour = $urodzinki[3];
$datadzien = date("d");
$datamiech_liczba = date("m");
if($datamiech_liczba = "01") {$datamiech = "stycznia";}
if($datamiech_liczba = "02") {$datamiech = "lutego";}
if($datamiech_liczba = "03") {$datamiech = "marca";}
if($datamiech_liczba = "04") {$datamiech = "kwietnia";}
if($datamiech_liczba = "05") {$datamiech = "maja";}
if($datamiech_liczba = "06") {$datamiech = "czerwca";}
if($datamiech_liczba = "07") {$datamiech = "lipca";}
if($datamiech_liczba = "08") {$datamiech = "sierpnia";}
if($datamiech_liczba = "09") {$datamiech = "wrze?nia";}
if($datamiech_liczba = "10") {$datamiech = "pa?dziernika";}
if($datamiech_liczba = "11") {$datamiech = "listopada";}
if($datamiech_liczba = "12") {$datamiech = "grudnia";}
$datarok = date("Y");
$ile = $dzienur - $datadzien;
$wiek = $datarok - $rokur;
if($dzienur >= $datadzien && $datamiech == $miechur){
echo '<BR>' . $datadzien . ' ' . $datamiech . ' : ' . $ktour . ' (' . $wiek . ')';
}}
?>
Chciałem aby wyświetlało w takiej postaci:
Cytat
12 sierpnia: Jan Kowalski (28)
13 sierpnia: Piotr Nowak (18)

Gdy będzie dzień w którym odbywają się urodziny to chciałbym aby całe było pogrubione.

Plik urodziny.txt wygląda tak:
Kod
12***08***1979***Jan Kowalski
13***08***1989***Piotr Nowak
Go to the top of the page
+Quote Post
pojas
post
Post #2





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 31.03.2006

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


Dla bazy danych w pliku txt
Kod
01***01***1991***Jan Nowak
02***08***1991***Jan Maurodziniak
05***09***1990***Mietek Kowalski

wyświetla:
Kod
01 stycznia: Jan Nowak ( 16 )
<b>02 sierpnia: Jan Maurodziniak ( 16 )</b>
05 września: Mietek Kowalski ( 17 )



  1. <?php
  2.  
  3. $file = file( 'urodziny.txt' );
  4. foreach( $file as $fileurodziny )
  5. {
  6. $data = explode( '***', $fileurodziny );
  7.  
  8. switch( $data[1] )
  9. {
  10. case '01':
  11. $mounth = 'stycznia';
  12. break;
  13.  
  14. case '02':
  15. $mounth = 'lutego';
  16. break;
  17.  
  18. case '03':
  19. $mounth = 'marca';
  20. break;
  21.  
  22. case '04':
  23. $mounth = 'kwietnia';
  24. break;
  25.  
  26. case '05':
  27. $mounth = 'maja';
  28. break;
  29.  
  30. case '06':
  31. $mounth = 'czerwca';
  32. break;
  33.  
  34. case '07':
  35. $mounth = 'lipca';
  36. break;
  37.  
  38. case '08':
  39. $mounth = 'sierpnia';
  40. break;
  41.  
  42. case '09':
  43. $mounth = 'września';
  44. break;
  45.  
  46. case '10':
  47. $mounth = 'października';
  48. break;
  49.  
  50. case '11':
  51. $mounth = 'listopada';
  52. break;
  53.  
  54. case '12':
  55. $mounth = 'grudnia';
  56. break;
  57. }
  58.  
  59. $age = date( 'Y' ) - $data[2]; // wiek osoby
  60.  
  61. if( $data[0].$data[1] == date( 'dm' ) )
  62. {
  63. // jeśli dzisiaj ktoś ma urodziny wyświetl
  64. echo '<b>'.$data[0].' '.$mounth.': '.$data[3].'( '.$age.' )</b><br>'."n";
  65.  
  66. } else
  67. {
  68. // dla reszty wpisów
  69. echo $data[0].' '.$mounth.': '.$data[3].'( '.$age.' )<br>'."n";
  70. }
  71. }
  72. ?>


Może być? guitar.gif

Ten post edytował pojas 2.08.2007, 15:41:37
Go to the top of the page
+Quote Post
kingpc
post
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 31.01.2006

Ostrzeżenie: (10%)
X----


Wszystko ładnie, ale zapomniałem dodać, że ma wyświetlać z wyprzedzeniem 2 tygodni. Gdy na przykład do danego zawodnika czas do urodzin jest 3 tygodnie to ma go nie wyświetlać.
Go to the top of the page
+Quote Post
pojas
post
Post #4





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 31.03.2006

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


Baza danych
Kod
01***07***1991***Jan Nowak
02***08***1991***Marian Kowalski
03***08***1991***Bogdan Morawski
16***08***1991***Adam
17***08***1991***kingpc
18***08***1991***Ewa


Wynik:
Kod
01 lipca: Jan Nowak ( 16 )
<b>02 sierpnia: Marian Kowalski ( 16 )</b>
<b>03 sierpnia: Bogdan Morawski ( 16 )</b>
<b>16 sierpnia: Adam ( 16 )</b>
17 sierpnia: kingpc ( 16 )
18 sierpnia: Ewa ( 16 )



  1. <?php
  2.  
  3. $day_limit = 14; // dniowe wyprzedzenie
  4.  
  5. $file = file( 'urodziny.txt' );
  6. foreach( $file as $fileurodziny )
  7. {
  8. $data = explode( '***', $fileurodziny );
  9.  
  10. switch( $data[1] )
  11. {
  12. case '01':
  13. $mounth = 'stycznia';
  14. break;
  15.  
  16. case '02':
  17. $mounth = 'lutego';
  18. break;
  19.  
  20. case '03':
  21. $mounth = 'marca';
  22. break;
  23.  
  24. case '04':
  25. $mounth = 'kwietnia';
  26. break;
  27.  
  28. case '05':
  29. $mounth = 'maja';
  30. break;
  31.  
  32. case '06':
  33. $mounth = 'czerwca';
  34. break;
  35.  
  36. case '07':
  37. $mounth = 'lipca';
  38. break;
  39.  
  40. case '08':
  41. $mounth = 'sierpnia';
  42. break;
  43.  
  44. case '09':
  45. $mounth = 'września';
  46. break;
  47.  
  48. case '10':
  49. $mounth = 'października';
  50. break;
  51.  
  52. case '11':
  53. $mounth = 'listopada';
  54. break;
  55.  
  56. case '12':
  57. $mounth = 'grudnia';
  58. break;
  59. }
  60.  
  61. $age = date( 'Y' ) - $data[2]; // wiek osoby
  62.  
  63. $unix_date = mktime( 0, 0, 0, $data[1], $data[0], 2000 );
  64. $unix_today = mktime( 0, 0, 0, date( 'n' ), date( 'j' ), 2000 );
  65. $days = ( $unix_today - $unix_date )/(60*60*24);
  66. if( $days < 0 )
  67. {
  68. $days = intval( substr( $days, 1 ) );
  69. } else
  70. {
  71. $days = intval( '-'.$days );
  72. }
  73.  
  74. if( $days <= $day_limit && $days > 0 || $days == 0 )
  75. {
  76. // jeśli dzisiaj ktoś ma w przeciągu 2 tygodni urodziny wyświetl
  77. echo '<b>'.$data[0].' '.$mounth.': '.$data[3].'( '.$age.' )</b><br>'."n";
  78.  
  79. } else
  80. {
  81. // dla reszty wpisów
  82. echo $data[0].' '.$mounth.': '.$data[3].'( '.$age.' )<br>'."n";
  83. }
  84. }
  85. ?>


Może trochę nakręcone, ale działa guitar.gif
Go to the top of the page
+Quote Post
kingpc
post
Post #5





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 31.01.2006

Ostrzeżenie: (10%)
X----


Nie o to mi chodziło smile.gif

Ma wyświetlać tylko urodziny w najbliższych 2 tygodniach. A co do pogrubień to ma wyglądać wtedy gdy dana osoba ma urodziny:


Kod
02***08***1991***Marian Kowalski
03***08***1991***Bogdan Morawski
16***08***1991***Adam
17***08***1991***kingpc
18***08***1991***Ewa


Kod
<b>02 sierpnia: Marian Kowalski (16)</b>
03 sierpnia: Bogdan Morawski (16)
16 sierpnia: Adam (16)
Go to the top of the page
+Quote Post
pojas
post
Post #6





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 31.03.2006

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


Proszę uprzejmie:
  1. <?php
  2.  
  3. $day_limit = 14; // dniowe wyprzedzenie
  4.  
  5. $file = file( 'urodziny.txt' );
  6. foreach( $file as $fileurodziny )
  7. {
  8. $data = explode( '***', $fileurodziny );
  9.  
  10. switch( $data[1] )
  11. {
  12. case '01':
  13. $mounth = 'stycznia';
  14. break;
  15.  
  16. case '02':
  17. $mounth = 'lutego';
  18. break;
  19.  
  20. case '03':
  21. $mounth = 'marca';
  22. break;
  23.  
  24. case '04':
  25. $mounth = 'kwietnia';
  26. break;
  27.  
  28. case '05':
  29. $mounth = 'maja';
  30. break;
  31.  
  32. case '06':
  33. $mounth = 'czerwca';
  34. break;
  35.  
  36. case '07':
  37. $mounth = 'lipca';
  38. break;
  39.  
  40. case '08':
  41. $mounth = 'sierpnia';
  42. break;
  43.  
  44. case '09':
  45. $mounth = 'września';
  46. break;
  47.  
  48. case '10':
  49. $mounth = 'października';
  50. break;
  51.  
  52. case '11':
  53. $mounth = 'listopada';
  54. break;
  55.  
  56. case '12':
  57. $mounth = 'grudnia';
  58. break;
  59. }
  60.  
  61. $age = date( 'Y' ) - $data[2]; // wiek osoby
  62.  
  63. $unix_date = mktime( 0, 0, 0, $data[1], $data[0], 2000 );
  64. $unix_today = mktime( 0, 0, 0, date( 'n' ), date( 'j' ), 2000 );
  65. $days = ( $unix_today - $unix_date )/(60*60*24);
  66. if( $days < 0 )
  67. {
  68. $days = intval( substr( $days, 1 ) );
  69. } else
  70. {
  71. $days = intval( '-'.$days );
  72. }
  73.  
  74. if( $days <= $day_limit && $days > 0 && $days <> 0 )
  75. {
  76. // jeśli ktoś ma w przeciągu 2 tygodni urodziny wyświetl
  77. echo $data[0].' '.$mounth.': '.$data[3].'( '.$age.' )<br>'."n";
  78.  
  79. } elseif( $days == 0 )
  80. {
  81. // jeśli ktoś ma dzisiaj urodziny wyświetl
  82. echo '<b>'.$data[0].' '.$mounth.': '.$data[3].'( '.$age.' )</b><br>'."n";
  83. }
  84. }
  85. ?>


Ten post edytował pojas 2.08.2007, 21:36:36
Go to the top of the page
+Quote Post
kingpc
post
Post #7





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 31.01.2006

Ostrzeżenie: (10%)
X----


Dzięki. Właśnie o to mi chodziło. A w skrypcie jest ustawione że zawodnik, który ma wcześniej urodziny zawsze będzie wyżej?
Go to the top of the page
+Quote Post
pojas
post
Post #8





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 31.03.2006

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


Cytat
w skrypcie jest ustawione że zawodnik, który ma wcześniej urodziny zawsze będzie wyżej?
Nie, ale zawsze można to zmienić guitar.gif

Ten kod właśnie tak działa:
  1. <?php
  2.  
  3. $day_limit = 14; // dniowe wyprzedzenie
  4.  
  5. $file = file( 'urodziny.txt' );
  6. foreach( $file as $fileurodziny )
  7. {
  8. $data = explode( '***', $fileurodziny );
  9.  
  10. switch( $data[1] )
  11. {
  12. case '01':
  13. $mounth = 'stycznia';
  14. break;
  15.  
  16. case '02':
  17. $mounth = 'lutego';
  18. break;
  19.  
  20. case '03':
  21. $mounth = 'marca';
  22. break;
  23.  
  24. case '04':
  25. $mounth = 'kwietnia';
  26. break;
  27.  
  28. case '05':
  29. $mounth = 'maja';
  30. break;
  31.  
  32. case '06':
  33. $mounth = 'czerwca';
  34. break;
  35.  
  36. case '07':
  37. $mounth = 'lipca';
  38. break;
  39.  
  40. case '08':
  41. $mounth = 'sierpnia';
  42. break;
  43.  
  44. case '09':
  45. $mounth = 'września';
  46. break;
  47.  
  48. case '10':
  49. $mounth = 'października';
  50. break;
  51.  
  52. case '11':
  53. $mounth = 'listopada';
  54. break;
  55.  
  56. case '12':
  57. $mounth = 'grudnia';
  58. break;
  59. }
  60.  
  61. $age = date( 'Y' ) - $data[2]; // wiek osoby
  62.  
  63. $unix_date = mktime( 0, 0, 0, $data[1], $data[0], 2000 );
  64. // rok 2000 przypadkowo, liczy się tylko miesiąc i dzień :)
  65. $unix_today = mktime( 0, 0, 0, date( 'n' ), date( 'j' ), 2000 );
  66. $days = ( $unix_today - $unix_date )/(60*60*24);
  67. if( $days < 0 )
  68. {
  69. $days = intval( substr( $days, 1 ) );
  70. } else
  71. {
  72. $days = intval( '-'.$days );
  73. }
  74.  
  75. if( $days <= $day_limit && $days > -1 )
  76. {
  77. /* Format wyświetlania informacji
  78. $data[0] - dzień urodzin
  79. $data[1] - miesiąc urodzin ( liczba z zerem na początku )
  80. $mounth - miesiąc urodzin ( słownie )
  81. $data[3] - imię i nazwosko
  82. $age - wiek osoby
  83. */
  84. $return[$unix_date] = "$data[0] $mounth: $data[3] ( $age )";
  85.  
  86. }
  87. if( $days == 0 )
  88. {
  89. // specjalny styl dla dzisiejszego dnia
  90.  
  91. // $return[$unix_date] = "<b>$data[0] $mounth: $data[3] ( $age )</b>";
  92. $return[$unix_date] = '<b>'.$return[$unix_date].'</b>';
  93. }
  94. }
  95. sort( $return, SORT_NUMERIC );
  96. foreach( $return as $person )
  97. {
  98. echo $person."<br>n";
  99. }
  100. ?>

Na zdrowie aarambo.gif
Go to the top of the page
+Quote Post
kingpc
post
Post #9





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 31.01.2006

Ostrzeżenie: (10%)
X----


Dzięki. Właśnie o to mi chodziło smile.gif
Go to the top of the page
+Quote Post
kingpc
post
Post #10





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 31.01.2006

Ostrzeżenie: (10%)
X----


Mam taki kod:
  1. <?php
  2.  
  3. $day_limit = 14; // dniowe wyprzedzenie
  4.  
  5. $file = file( 'urodziny.txt' );
  6. foreach( $file as $fileurodziny )
  7. {
  8. $data = explode( '***', $fileurodziny );
  9.  
  10. switch( $data[1] )
  11. {
  12. case '01':
  13. $mounth = 'stycznia';
  14. break;
  15.  
  16. case '02':
  17. $mounth = 'lutego';
  18. break;
  19.  
  20. case '03':
  21. $mounth = 'marca';
  22. break;
  23.  
  24. case '04':
  25. $mounth = 'kwietnia';
  26. break;
  27.  
  28. case '05':
  29. $mounth = 'maja';
  30. break;
  31.  
  32. case '06':
  33. $mounth = 'czerwca';
  34. break;
  35.  
  36. case '07':
  37. $mounth = 'lipca';
  38. break;
  39.  
  40. case '08':
  41. $mounth = 'sierpnia';
  42. break;
  43.  
  44. case '09':
  45. $mounth = 'wrze?nia';
  46. break;
  47.  
  48. case '10':
  49. $mounth = 'pa?dziernika';
  50. break;
  51.  
  52. case '11':
  53. $mounth = 'listopada';
  54. break;
  55.  
  56. case '12':
  57. $mounth = 'grudnia';
  58. break;
  59. }
  60.  
  61. $age = date( 'Y' ) - $data[2]; // wiek osoby
  62.  
  63. $unix_date = mktime( 0, 0, 0, $data[1], $data[0], 2000 );
  64. // rok 2000 przypadkowo, liczy si? tylko miesi?c i dzie? :)
  65. $unix_today = mktime( 0, 0, 0, date( 'n' ), date( 'j' ), 2000 );
  66. $days = ( $unix_today - $unix_date )/(60*60*24);
  67. if( $days < 0 )
  68. {
  69. $days = intval( substr( $days, 1 ) );
  70. } else
  71. {
  72. $days = intval( '-'.$days );
  73. }
  74.  
  75. if( $days <= $day_limit && $days > -1 )
  76. {
  77. /* Format wy?wietlania informacji
  78. $data[0] - dzie? urodzin
  79. $data[1] - miesi?c urodzin ( liczba z zerem na pocz?tku )
  80. $mounth - miesi?c urodzin ( s?ownie )
  81. $data[3] - imi? i nazwosko
  82. $age - wiek osoby
  83. */
  84. $return[$unix_date] = "$data[0] $mounth: $data[3] ( $age )";
  85.  
  86. }
  87. if( $days == 0 )
  88. {
  89. // specjalny styl dla dzisiejszego dnia
  90.  
  91. // $return[$unix_date] = "<b>$data[0] $mounth: $data[3] ( $age )</b>";
  92. $return[$unix_date] = '<b>'.$return[$unix_date].'</b>';
  93. }
  94. }
  95. sort( $return, SORT_NUMERIC );
  96. foreach( $return as $person )
  97. {
  98. echo $person."<br>\n";
  99. }
  100. ?>
I na stronię pojawia się taki błąd:
Cytat
Warning: sort() expects parameter 1 to be array, null given in /home/poloniam/public_html/main.php(53) : eval()'d code on line 95

Warning: Invalid argument supplied for foreach() in /home/poloniam/public_html/main.php(53) : eval()'d code on line 96
Myślę, że powód może tkwić, że nikt przez najbliższe 2 tygodnie nie ma urodzin. Mam rację? Może ktoś poprawić kod?
Go to the top of the page
+Quote Post
loonger
post
Post #11





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

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


zamień końcówkę na:

  1. <?php
  2. sort( $return, SORT_NUMERIC );
  3. if(isset($return)) {
  4. foreach( $return as $person )
  5. {
  6. echo $person."<br>\n";
  7. }
  8. }
  9. else {
  10. echo "Nikt nie ma urodzin w najbliższym czasie.";
  11. }
  12. ?>
Go to the top of the page
+Quote Post
kingpc
post
Post #12





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 31.01.2006

Ostrzeżenie: (10%)
X----


Mam kod
  1. <?php
  2.  
  3. $day_limit = 14; // dniowe wyprzedzenie
  4.  
  5. $file = file( 'urodziny.txt' );
  6. foreach( $file as $fileurodziny )
  7. {
  8. $data = explode( '***', $fileurodziny );
  9.  
  10. switch( $data[1] )
  11. {
  12. case '01':
  13. $mounth = 'stycznia';
  14. break;
  15.  
  16. case '02':
  17. $mounth = 'lutego';
  18. break;
  19.  
  20. case '03':
  21. $mounth = 'marca';
  22. break;
  23.  
  24. case '04':
  25. $mounth = 'kwietnia';
  26. break;
  27.  
  28. case '05':
  29. $mounth = 'maja';
  30. break;
  31.  
  32. case '06':
  33. $mounth = 'czerwca';
  34. break;
  35.  
  36. case '07':
  37. $mounth = 'lipca';
  38. break;
  39.  
  40. case '08':
  41. $mounth = 'sierpnia';
  42. break;
  43.  
  44. case '09':
  45. $mounth = 'wrze?nia';
  46. break;
  47.  
  48. case '10':
  49. $mounth = 'pa?dziernika';
  50. break;
  51.  
  52. case '11':
  53. $mounth = 'listopada';
  54. break;
  55.  
  56. case '12':
  57. $mounth = 'grudnia';
  58. break;
  59. }
  60.  
  61. $age = date( 'Y' ) - $data[2]; // wiek osoby
  62.  
  63. $unix_date = mktime( 0, 0, 0, $data[1], $data[0], 2000 );
  64. // rok 2000 przypadkowo, liczy si? tylko miesi?c i dzie? :)
  65. $unix_today = mktime( 0, 0, 0, date( 'n' ), date( 'j' ), 2000 );
  66. $days = ( $unix_today - $unix_date )/(60*60*24);
  67. if( $days < 0 )
  68. {
  69. $days = intval( substr( $days, 1 ) );
  70. } else
  71. {
  72. $days = intval( '-'.$days );
  73. }
  74.  
  75. if( $days <= $day_limit && $days > -1 )
  76. {
  77. /* Format wy?wietlania informacji
  78. $data[0] - dzie? urodzin
  79. $data[1] - miesi?c urodzin ( liczba z zerem na pocz?tku )
  80. $mounth - miesi?c urodzin ( s?ownie )
  81. $data[3] - imi? i nazwosko
  82. $age - wiek osoby
  83. */
  84. $return[$unix_date] = "$data[0] $mounth: $data[3] ( $age )";
  85.  
  86. }
  87. if( $days == 0 )
  88. {
  89. // specjalny styl dla dzisiejszego dnia
  90.  
  91. // $return[$unix_date] = "<b>$data[0] $mounth: $data[3] ( $age )</b>";
  92. $return[$unix_date] = '<b>'.$return[$unix_date].'</b>';
  93. }
  94. }
  95. sort( $return, SORT_NUMERIC );
  96. if(isset($return)) {
  97. foreach( $return as $person )
  98. {
  99. echo $person."<br>\n";
  100. }
  101. }
  102. else {
  103. echo "Nikt nie ma urodzin w najbliższym czasie.";
  104. }
  105. ?>
A tutaj nadal:
Cytat
Warning: sort() expects parameter 1 to be array, null given in /home/poloniam/public_html/main.php(53) : eval()'d code on line 95
Nikt nie ma urodzin w najbliższym czasie.
worriedsmiley.gif
Go to the top of the page
+Quote Post
Hazel
post
Post #13





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

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


Wklejam kod do edytora, tworzę plik urodziny.txt, zapisuję w nim linijkę:

Kod
10 *** 02

Uruchamiam - działa.
Wyświetla się wynik.
Twój błąd oznacza, że tablica $return nie została zdefiniowana (bo inicjalizujesz ją wewnątrz instrukcji warunkowej, która mogła być niespełniona i parser przeszedł dalej). Powtarzam jednak, że u mnie działa ten kod, więc nie wiem, gdzie jest problem u Ciebie. Może masz inne założenia co do wpisywania danych do pliku urodziny.txt. Albo skrypt w zalożeniu ma robić coś innego niż zwracać

Kod
10 lutego: (2007)

Ale w takiej formie, w jakiej jest to w kodzie, ja wpisałem dobrze i skrypt zwrócił prawidłowy wynik.

Ten post edytował Hazel 16.08.2007, 19:23:43


--------------------
Go to the top of the page
+Quote Post
kingpc
post
Post #14





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 31.01.2006

Ostrzeżenie: (10%)
X----


Plik urodziny.txt wygląda tak:
Cytat
12***08***1979***Jan Kowalski
13***08***1989***Piotr Nowak
Go to the top of the page
+Quote Post
Hazel
post
Post #15





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

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


No to wyświetla się wynik:
Kod
12 sierpnia: Jan Kowalski ( 28 )
13 sierpnia: Piotr Nowak( 18 )

Żadnych warnów ani fatali, w czym jest problem?


--------------------
Go to the top of the page
+Quote Post
kingpc
post
Post #16





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 31.01.2006

Ostrzeżenie: (10%)
X----


To dlaczego pojawia się taki komunikat:
Cytat
Warning: sort() expects parameter 1 to be array, null given in /home/poloniam/public_html/main.php(53) : eval()'d code on line 95
Nikt nie ma urodzin w najbliższym czasie.
Go to the top of the page
+Quote Post
loonger
post
Post #17





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

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


mój błąd. końcówka powinna wyglądać tak:
  1. <?php
  2. if(isset($return)) {
  3. sort( $return, SORT_NUMERIC );
  4. foreach( $return as $person )
  5. {
  6. echo $person."<br>\n";
  7. }
  8. }
  9. else {
  10. echo "Nikt nie ma urodzin w najbliższym czasie.";
  11. ?>
Go to the top of the page
+Quote Post
kingpc
post
Post #18





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 31.01.2006

Ostrzeżenie: (10%)
X----


Teraz mam taki komunikat
Cytat
Parse error: syntax error, unexpected $end in /home/poloniam/public_html/main.php(53) : eval()'d code on line 105
Prz takim kodzie
  1. <?php
  2.  
  3. $day_limit = 14; // dniowe wyprzedzenie
  4.  
  5. $file = file( 'urodziny.txt' );
  6. foreach( $file as $fileurodziny )
  7. {
  8. $data = explode( '***', $fileurodziny );
  9.  
  10. switch( $data[1] )
  11. {
  12. case '01':
  13. $mounth = 'stycznia';
  14. break;
  15.  
  16. case '02':
  17. $mounth = 'lutego';
  18. break;
  19.  
  20. case '03':
  21. $mounth = 'marca';
  22. break;
  23.  
  24. case '04':
  25. $mounth = 'kwietnia';
  26. break;
  27.  
  28. case '05':
  29. $mounth = 'maja';
  30. break;
  31.  
  32. case '06':
  33. $mounth = 'czerwca';
  34. break;
  35.  
  36. case '07':
  37. $mounth = 'lipca';
  38. break;
  39.  
  40. case '08':
  41. $mounth = 'sierpnia';
  42. break;
  43.  
  44. case '09':
  45. $mounth = 'wrze?nia';
  46. break;
  47.  
  48. case '10':
  49. $mounth = 'pa?dziernika';
  50. break;
  51.  
  52. case '11':
  53. $mounth = 'listopada';
  54. break;
  55.  
  56. case '12':
  57. $mounth = 'grudnia';
  58. break;
  59. }
  60.  
  61. $age = date( 'Y' ) - $data[2]; // wiek osoby
  62.  
  63. $unix_date = mktime( 0, 0, 0, $data[1], $data[0], 2000 );
  64. // rok 2000 przypadkowo, liczy si? tylko miesi?c i dzie? :)
  65. $unix_today = mktime( 0, 0, 0, date( 'n' ), date( 'j' ), 2000 );
  66. $days = ( $unix_today - $unix_date )/(60*60*24);
  67. if( $days < 0 )
  68. {
  69. $days = intval( substr( $days, 1 ) );
  70. } else
  71. {
  72. $days = intval( '-'.$days );
  73. }
  74.  
  75. if( $days <= $day_limit && $days > -1 )
  76. {
  77. /* Format wy?wietlania informacji
  78. $data[0] - dzie? urodzin
  79. $data[1] - miesi?c urodzin ( liczba z zerem na pocz?tku )
  80. $mounth - miesi?c urodzin ( s?ownie )
  81. $data[3] - imi? i nazwosko
  82. $age - wiek osoby
  83. */
  84. $return[$unix_date] = "$data[0] $mounth: $data[3] ( $age )";
  85.  
  86. }
  87. if( $days == 0 )
  88. {
  89. // specjalny styl dla dzisiejszego dnia
  90.  
  91. // $return[$unix_date] = "<b>$data[0] $mounth: $data[3] ( $age )</b>";
  92. $return[$unix_date] = '<b>'.$return[$unix_date].'</b>';
  93. }
  94. }
  95. sort( $return, SORT_NUMERIC );
  96. if(isset($return)) {
  97. sort( $return, SORT_NUMERIC );
  98. foreach( $return as $person )
  99. {
  100. echo $person."<br>\n";
  101. }
  102. }
  103. else {
  104. echo "Nikt nie ma urodzin w najbliższym czasie.";
  105. ?>
Go to the top of the page
+Quote Post
UDAT
post
Post #19





Grupa: Zarejestrowani
Postów: 442
Pomógł: 0
Dołączył: 27.12.2005

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


Wystarczy dodać klamrę po echo - powinno to wyglądać tak:
  1. <?php
  2. else {
  3.  echo "Nikt nie ma urodzin w najbliższym czasie.";
  4. }
  5. ?>
Go to the top of the page
+Quote Post
kingpc
post
Post #20





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 31.01.2006

Ostrzeżenie: (10%)
X----


Mam taki kod:
  1. <?php
  2.  
  3. $day_limit = 14; // dniowe wyprzedzenie
  4.  
  5. $file = file( 'urodziny.txt' );
  6. foreach( $file as $fileurodziny )
  7. {
  8. $data = explode( '***', $fileurodziny );
  9.  
  10. switch( $data[1] )
  11. {
  12. case '01':
  13. $mounth = 'stycznia';
  14. break;
  15.  
  16. case '02':
  17. $mounth = 'lutego';
  18. break;
  19.  
  20. case '03':
  21. $mounth = 'marca';
  22. break;
  23.  
  24. case '04':
  25. $mounth = 'kwietnia';
  26. break;
  27.  
  28. case '05':
  29. $mounth = 'maja';
  30. break;
  31.  
  32. case '06':
  33. $mounth = 'czerwca';
  34. break;
  35.  
  36. case '07':
  37. $mounth = 'lipca';
  38. break;
  39.  
  40. case '08':
  41. $mounth = 'sierpnia';
  42. break;
  43.  
  44. case '09':
  45. $mounth = 'września';
  46. break;
  47.  
  48. case '10':
  49. $mounth = 'października';
  50. break;
  51.  
  52. case '11':
  53. $mounth = 'listopada';
  54. break;
  55.  
  56. case '12':
  57. $mounth = 'grudnia';
  58. break;
  59. }
  60.  
  61. $age = date( 'Y' ) - $data[2]; // wiek osoby
  62.  
  63. $unix_date = mktime( 0, 0, 0, $data[1], $data[0], 2000 );
  64. // rok 2000 przypadkowo, liczy si? tylko miesi?c i dzie? :)
  65. $unix_today = mktime( 0, 0, 0, date( 'n' ), date( 'j' ), 2000 );
  66. $days = ( $unix_today - $unix_date )/(60*60*24);
  67. if( $days < 0 )
  68. {
  69. $days = intval( substr( $days, 1 ) );
  70. } else
  71. {
  72. $days = intval( '-'.$days );
  73. }
  74.  
  75. if( $days <= $day_limit && $days > -1 )
  76. {
  77. /* Format wy?wietlania informacji
  78. $data[0] - dzie? urodzin
  79. $data[1] - miesi?c urodzin ( liczba z zerem na pocz?tku )
  80. $mounth - miesi?c urodzin ( s?ownie )
  81. $data[3] - imi? i nazwosko
  82. $age - wiek osoby
  83. */
  84. $return[$unix_date] = "$data[0] $mounth: $data[3] ( $age )";
  85.  
  86. }
  87. if( $days == 0 )
  88. {
  89. // specjalny styl dla dzisiejszego dnia
  90.  
  91. // $return[$unix_date] = "<b>$data[0] $mounth: $data[3] ( $age )</b>";
  92. $return[$unix_date] = '<b>'.$return[$unix_date].'</b>';
  93. }
  94. }
  95. sort( $return, SORT_NUMERIC );
  96. if(isset($return)) {
  97. sort( $return, SORT_NUMERIC );
  98. foreach( $return as $person )
  99. {
  100. echo $person."<br>\n";
  101. }
  102. }
  103. else {
  104.  echo "Nikt nie ma urodzin w najbliższym czasie.";
  105. }
  106. ?>
I znów komunikat:
Cytat
Warning: sort() expects parameter 1 to be array, null given in /home/poloniam/public_html/main.php(53) : eval()'d code on line 95
Nikt nie ma urodzin w najbliższym czasie.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 19.08.2025 - 04:28