За последние 24 часа нас посетили 22234 программиста и 1029 роботов. Сейчас ищут 628 программистов ...

Создание блока вывода именниников на главной странице

Тема в разделе "Решения, алгоритмы", создана пользователем srkrma, 26 июл 2012.

  1. srkrma

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

    С нами с:
    26 июл 2012
    Сообщения:
    2
    Симпатии:
    0
    Здравствуйте!
    занимаюсь созданием сайта спортивной команды, стоит задача вывода именинников на главной странице в одельном блоке. знаком с html и css, а вот с php только начинаю знакомиться, прошу вашей помощи или совета в реализации данного... заранее благодарю.
    пример;
    <div id="birthday_block">
    <h3><span class="birthday_title">В июне день рождения отмечают</span></h3>
    <table class="birthday_day" width="100%">
    <tr>
    <td width="21%" align="center">
    <div class="birthday_day_number">21</div>
    <span class="birthday_day_month">июня</span>
    </td>
    <td width="79%" align="left">
    <div class="birthday_person">
    <span class="birthday_person_name"><a href="/team/#p_6524"> Артем</a></span><br />
    <span class="birthday_person_post"></span>
    </div>
    </td>
    </tr>
    </table>
    </div>
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    где хрянятся дни рождения?
     
  3. srkrma

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

    С нами с:
    26 июл 2012
    Сообщения:
    2
    Симпатии:
    0
    В папке либо в БД. Какой вариант проще и удобней?
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
  5. akales

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

    С нами с:
    12 фев 2012
    Сообщения:
    3
    Симпатии:
    0
    здравствуйте!
    интересная тема, тоже хотелось бы реализовать нечто подобное на своем сайте. подскажите пожалуйста как реализовали или где могу почитать как это зделать. зарание спасибо.
     
  6. MaXyC_Web_Studio

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

    С нами с:
    31 дек 2006
    Сообщения:
    678
    Симпатии:
    3
    Адрес:
    Новоуральск
    очень просто
    1. создаем базу данных. Например test. В ней таблицу users: user_id(int), user_name(varchar(120)), user_date_birth(date)
    2. добавим человека в бд: insert into test.users set user_name='maxyc', user_date_birth = '1986-03-28'
    3. теперь остается только в нужном нам месте запрашивать список людей родившихся в этот день:
    Код (Text):
    1. $res = mysql_query('SELECT * FROM test.users WHERE MONTH(user_date_birth) = 3 AND DAY(user_date_birth) = 28');
    3 и 28 подставляем свои даты, например, date('m') и date('d') соответственно
    4. выводим блок:
    Код (Text):
    1.  
    2. <h3>Именинники сегодня</h3>
    3. <?php while($t = mysql_fetch_assoc($res)):?>
    4. <p><?php echo $t['user_name']?></p>
    5. <?php endwhile?>
    Добавлено спустя 1 минуту 10 секунд:
    с буквой З пишется только ЗДЕСЬ, остальное сделать и тп
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    зги, здание, здесь
     
  8. akales

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

    С нами с:
    12 фев 2012
    Сообщения:
    3
    Симпатии:
    0
    спасибо MaXyC_Web_Studio, все пошагово расписали.
    а интересно как это решается без бд?
     
  9. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    очень просто
    1. создаем текстовый файл users.txt. В нём будем вести список юзеров в формате user_date_birth|||user_login
    2. добавим для примера строки:
    28.03.1986|||maxyc
    29.02.1979|||runcore
    3. напишем функцию возвращающую именинников да дату:
    Код (PHP):
    1. function getUsersByBirthday($dd_in, $mm_in) {
    2.   $date_in = sprintf('%02d.%02d.', $dd_in, $mm_in);
    3.   $out = array();
    4.   foreach(file('users.txt') as $l) {
    5.     if (substr(ltrim($l),0,6)==$date_in) {
    6.       list($bdate,$login) = explode('|||',$l);
    7.       $out[] = $login;
    8.     }
    9.   }
    10.   return $out;
    11. }
    4. выводим блок:
    <h3>Именинники сегодня</h3>
    <?php foreach(getUsersByBirthday(date('d'),date('m')) as $t) { ?>
    <p><?php echo $t?></p>
    <?php } ?>
     
  10. akales

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

    С нами с:
    12 фев 2012
    Сообщения:
    3
    Симпатии:
    0
    Спасибо runcore, всё проверино, работает. А какие манипуляции с date можно ещё сделать, если будет вывод на месяц? тоесть именниники в этом месяце.