За последние 24 часа нас посетили 15828 программистов и 1666 роботов. Сейчас ищут 906 программистов ...

Знаки зодиака

Тема в разделе "PHP для новичков", создана пользователем allowance, 19 сен 2010.

  1. allowance

    allowance Активный пользователь

    С нами с:
    19 янв 2010
    Сообщения:
    196
    Симпатии:
    0
    Пробую узать знак зодиака таким путём, но почему то выводит у всех последний знак - Pisces из дат(09.07.2010, 09. 10.2010, 04.05.2010).
    PHP:
    1.         $yy3 = $yy + 1;
    2.         if (date("Y-m-d", mktime(0, 0, 0, $mm2, $dd2, $yy)) >= date("Y-m-d", mktime(0, 0, 0, 03, 21, $yy)) and date("Y-m-d", mktime(0, 0, 0, $mm2, $dd2, $yy)) <= date("Y-m-d", mktime(0, 0, 0, 04, 19, $yy)))
    3.         {
    4.             $starsign = "Aries";
    5.         }
    6.         if (date("Y-m-d", mktime(0, 0, 0, $mm2, $dd2, $yy)) >= date("Y-m-d", mktime(0, 0, 0, 04, 20, $yy)) and date("Y-m-d", mktime(0, 0, 0, $mm2, $dd2, $yy)) <= date("Y-m-d", mktime(0, 0, 0, 05, 20, $yy)))
    7.         {
    8.             $starsign = "Taurus";
    9.         }
    10.         if (date("Y-m-d", mktime(0, 0, 0, $mm2, $dd2, $yy)) >= date("Y-m-d", mktime(0, 0, 0, 05, 21, $yy)) and date("Y-m-d", mktime(0, 0, 0, $mm2, $dd2, $yy)) <= date("Y-m-d", mktime(0, 0, 0, 06, 20, $yy)))
    11.         {
    12.             $starsign = "Gemini";
    13.         }
    14.         if (date("Y-m-d", mktime(0, 0, 0, $mm2, $dd2, $yy)) >= date("Y-m-d", mktime(0, 0, 0, 06, 21, $yy)) and date("Y-m-d", mktime(0, 0, 0, $mm2, $dd2, $yy)) <= date("Y-m-d", mktime(0, 0, 0, 07, 22, $yy)))
    15.         {
    16.             $starsign = "Cancer";
    17.         }
    18.         if (date("Y-m-d", mktime(0, 0, 0, $mm2, $dd2, $yy)) >= date("Y-m-d", mktime(0, 0, 0, 07, 23, $yy)) and date("Y-m-d", mktime(0, 0, 0, $mm2, $dd2, $yy)) <= date("Y-m-d", mktime(0, 0, 0, 08, 22, $yy)))
    19.         {
    20.             $starsign = "Leo";
    21.         }
    22.         if (date("Y-m-d", mktime(0, 0, 0, $mm2, $dd2, $yy)) >= date("Y-m-d", mktime(0, 0, 0, 08, 23, $yy)) and date("Y-m-d", mktime(0, 0, 0, $mm2, $dd2, $yy)) <= date("Y-m-d", mktime(0, 0, 0, 09, 22, $yy)))
    23.         {
    24.             $starsign = "Virgo";
    25.         }
    26.         if (date("Y-m-d", mktime(0, 0, 0, $mm2, $dd2, $yy)) >= date("Y-m-d", mktime(0, 0, 0, 09, 23, $yy)) and date("Y-m-d", mktime(0, 0, 0, $mm2, $dd2, $yy)) <= date("Y-m-d", mktime(0, 0, 0, 10, 22, $yy)))
    27.         {
    28.             $starsign = "Libra";
    29.         }
    30.         if (date("Y-m-d", mktime(0, 0, 0, $mm2, $dd2, $yy)) >= date("Y-m-d", mktime(0, 0, 0, 10, 23, $yy)) and date("Y-m-d", mktime(0, 0, 0, $mm2, $dd2, $yy)) <= date("Y-m-d", mktime(0, 0, 0, 11, 21, $yy)))
    31.         {
    32.             $starsign = "Scorpio";
    33.         }
    34.         if (date("Y-m-d", mktime(0, 0, 0, $mm2, $dd2, $yy)) >= date("Y-m-d", mktime(0, 0, 0, 11, 22, $yy)) and date("Y-m-d", mktime(0, 0, 0, $mm2, $dd2, $yy)) <= date("Y-m-d", mktime(0, 0, 0, 12, 21, $yy)))
    35.         {
    36.             $starsign = "Sagittarius";
    37.         }
    38.         if (date("Y-m-d", mktime(0, 0, 0, $mm2, $dd2, $yy)) >= date("Y-m-d", mktime(0, 0, 0, 12, 22, $yy)) and date("Y-m-d", mktime(0, 0, 0, $mm2, $dd2, $yy)) <= date("Y-m-d", mktime(0, 0, 0, 01, 19, $yy3)))
    39.         {
    40.             $starsign = "Capricorn";
    41.         }
    42.         if (date("Y-m-d", mktime(0, 0, 0, $mm2, $dd2, $yy)) >= date("Y-m-d", mktime(0, 0, 0, 01, 20, $yy)) and date("Y-m-d", mktime(0, 0, 0, $mm2, $dd2, $yy)) <= date("Y-m-d", mktime(0, 0, 0, 02, 18, $yy3)))
    43.         {
    44.             $starsign = "Aquarius";
    45.         }
    46.         if (date("Y-m-d", mktime(0, 0, 0, $mm2, $dd2, $yy)) >= date("Y-m-d", mktime(0, 0, 0, 02, 19, $yy)) and date("Y-m-d", mktime(0, 0, 0, $mm2, $dd2, $yy)) <= date("Y-m-d", mktime(0, 0, 0, 03, 20, $yy3)))
    47.         {
    48.             $starsign = "Pisces";
    49.         }
     
  2. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    Ебаный в рот.... Конечно, не будет работать.

    Даже если закрыть глаза на 12 if, расскажите, а с какого перепуга Вы сравниваете так?
    На выходе вы получаете две строки вида
    2009-12-12 >= 2009-12-14

    Сравнивайте timestamp
    mktime(0, 0, 0, $mm2, $dd2, $yy) >= mktime(0, 0, 0, 02, 19, $yy)

    И, прочитайте про эти функции
    http://php.net/manual/en/function.mktime.html
    http://php.net/manual/en/function.date.html

    И в принципе про дату \ время
    http://www.php.net/manual/en/book.datetime.php
     
  3. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Потому что $yy3>$yy.