Автор Тема: Даты и бд  (Прочитано 4245 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Rodent

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 133
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.unimix.ru
Даты и бд
« : 21 Июня 2005, 22:34:43 »
Доброе время суток.
У меня к Вам как всегда одни только вопросы.
Мне надо решить вот такую задачу. Допустим у меня есть таблица "Пользователи" с логинами пользователей, их датами рождения (отдельно по столбцам - день, месяц), почтой и т.д.
Есть другая таблица "Праздники". Там столбики с датой празднования (отдельно по столбикам - дата, месяц) и небольшой текст к данному событию.
Вот терь вопросик, как правильно организовать запрос к бд чтобы все это корректно считать, для дальнейшего вывода в виде отсортированного списка по дате и отсчетом количества дней до того или иного события.
Подсчет дней, вывод по отдельности из каждой таблицы, я освоил. Но как мне их совместить, чтобы это все обрабатывалось вместе?

И еще вопросик по регулярным выражениям. Что у меня неправильно?

if(!preg_match("/^[[:alnum:][:space:][:punct:]]{3,100}$/"$title)) $error[] = "Вы неправильно заполнили поле.";

При вводе в поле "День рождения", начинает ругаться.
Я написал выражение неправильно?

С уважением...
« Последнее редактирование: 22 Июня 2005, 11:23:24 от RomikChef »

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
Даты и бд
« Ответ #1 : 22 Июня 2005, 00:36:38 »
Цитировать
Но как мне их совместить, чтобы это все обрабатывалось вместе?

Для этой цели подойдет добавление в "праздники" при регистрации дней рождения пользователей.
Цитировать
Я написал выражение неправильно?

Целиком.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Даты и бд
« Ответ #2 : 22 Июня 2005, 11:31:53 »
читай оба списка в массив вида $arr[$date]=$prazdnik;, и сортируй его

Оффлайн Rodent

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 133
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.unimix.ru
Даты и бд
« Ответ #3 : 23 Июня 2005, 15:20:44 »
RomikChef
1 запрос mysql_query(select day,month from user)
2 запрос mysql_query (select day, month from holiday)
и как терь их объдинять?
одним запросом у меня не получилось, выводил фигню

Оффлайн Rodent

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 133
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.unimix.ru
Даты и бд
« Ответ #4 : 23 Июня 2005, 15:21:25 »
hanslinger
и в чем ошибка?

Оффлайн sarutobi

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 61
  • +0/-0
  • 0
    • Просмотр профиля
Даты и бд
« Ответ #5 : 23 Июня 2005, 19:18:47 »
Если MySQL >= 4.0 то
select day,month from user
union
select day, month from holiday
Только следи чтобы число колонок в первом и втором селектах было одинаковым.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Даты и бд
« Ответ #6 : 23 Июня 2005, 20:56:51 »
Rodent
господи, ну это же БАЗОВЫЕ операции языка!
при получении данных из бд ты можешь добавить их в массив?

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
Даты и бд
« Ответ #7 : 24 Июня 2005, 01:23:44 »
Rodent
Ошибка в выражении. Рекомендую прежде, чем что-то писать, ознакомиться с [p]PCRE[/p]

Оффлайн Rodent

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 133
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.unimix.ru
Даты и бд
« Ответ #8 : 24 Июня 2005, 18:41:48 »
RomikChef
а ты верующий?

sarutobi  и hanslinger
Спасибо, попробуем

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28