Дата и време в PHP и MySQL

vladislav

Registered
Искам да питам какви функции трябва да използвам за да запиша дата и час в БД и после да взема резултатите и да проверявам ако днес е датата в БД да се показва нещо и така. Питам за функциите в PHP акк трябва да изглеждат date()... и полето в MySQL какво трябва да е по вид защото до сега ги правя TEXT защото TIMESTAMP и DATE нещо не ги владеех :wink:
Мерси предварително!
 
luudman каза:
Ето ти едно уроче: КЛИК!!!
Поздрави!!!
линка които е дал луудман е напълно достатъчен според мен :)
аз използвам точно NOW() а за форматиране на датата ползвам DATE и DATE_FORMAT
 
Разгледах линка от it-place обаче нещо не успях да рабера това което ми трябва. Ще дам конкретно какво искам да направя. Значи ще записвам мачове в БД и тяхната дата и час на започване - какво да е полето и PHP функцията че после да мога да сравня записаната дата в БД с днешната и ако примерно съвпадат да се изпълнява нещо ако е в следващите няколко дни да се прави дрго и така? Друг пример даден турнир е от дата А до дата В как да проверявам дали днес е ден от турнира и ако е еди какво си ако не...
 
Ми как? Правиш си една таблица нали с мачовете и слагаш едно поле например:

`mach_4as` varchar() NOT NULL default '00:00:00 0000-00-00',

като поясня: 00:00:00 - hh:mm:ss часове:минути, секунди!
После: 0000-00-00 - yyyy.mm.dd година:месец:дата!
Записваш в ДБ-то с някакъв скрипт например датата и часът: 12:30:45 2007-07-06 !
После за това Изпълнение ако са равни цитирам:
че после да мога да сравня записаната дата в БД с днешната и ако примерно съвпадат да се изпълнява нещо ако е в следващите няколко дни да се прави дрго и така?
Това го правиш с няколко if()- чета:
1. Изваждаш от ДБ-то записите!
2. слагаш там някакво if() за да сравниш датите!
3. И правиш още няколко if() ако е равно на сегашната дата да се изпълнява еди какво си! Ако е минало това време вече!
4. Ако не е минало времето на мача!
 
Е как ще сравня дата и час като са записани във формат varchar ? Принципа с If() го знам разбира се обаче въпроса не е в тях а в функцията за дата и час и настройката наполетата в БД.
 
ето накратко как се сравняват датите в sql
полето с в което записваш датата ти се казва zapis
SELECT * FROM `table` WHERE DATE(`zapis`)=DATE(NOW())

така да речем ще селектираш всички записи с днепна дата
може позлваш е + 1 DAY
WHERE DATE(`zapis`)=DATE(NOW() + INVERVAL 1 DAY )
може и -

п.с. мисля че няма да има проблем ако ползва моя пример и ползва варчар
 
Ееее супер тва исках. Сега или утре ще го пробвам дали ще стане.
/////////
Обаче как да записвам данните в полето. Как трябва да пиша ден месец гофина и да има ли разделители!
 
И още малко нахалство :D
...... + INTERVAl 10 DAY означава че ще вади всички записи които са с дата из между следващите дни или ще вади записи които са с дата точно след 10 дни
МАй че става дуамз а точно дата след 10 дни. Тогава как да направя да се изкарват записи ако днес е ен от даден турнир - предварително в БД съм записал отт коя ата до коя е турнира в формат който трябва?
Форама също така кой е?
 
става вапрос за точна дата след 10 дни
но винаги може да ползваш < и > за да вземеш датите от някакъв интервал от време
датите в полето ги записвай с NOW() записват се по този начин 2006-04-12 13:47:36
 
NOW() записва днешната дата а аз ще въвеждам датите с формуляр. така че просто ще използвам просто в формата дадения ред за датата
 

Back
Горе