Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Дата в MYSQL
Форумы портала PHP.SU » » Работа с СУБД » Дата в MYSQL

Страниц (2): [1] 2 »
 

1. DNGX - 06 Марта, 2012 - 22:52:06 - перейти к сообщению
Здравствуйте. У меня возник вопрос. В админ панели скрипта есть форма, куда пишется заказ и дата/время исполнения. Дата/время будут вписываться в таком вот виде 10/03/12 12:00, как правильно занести их в базу? И как правильно выводить? Я выбрал тип поля таблицы datetime, правильный ли выбор?
Форма:
CODE (htmlphp):
скопировать код в буфер обмена
  1. echo '<form method="post" action="zakaz_ok.php">
  2. Заказ:<br/>
  3. <input type="text" name="zakaz" size="25" maxlength="500" value=""><br/>
  4. Введите дату и время:<br/>
  5. <input type="text" name="date" size="25" maxlength="150" value=""><br/>
  6. <input type="submit" name="action" value="Добавить"></form><br/>';
  7.  

Файл zakaz_ok.php
PHP:
скопировать код в буфер обмена
  1. mysql_query("INSERT INTO `zakazy` SET `zakaz`='$zakaz', [b]`date`='$date'[/b];") or die(mysql_error());
  2.  

Таблица MYSQL:
CODE (SQL):
скопировать код в буфер обмена
  1. CREATE TABLE IF NOT EXISTS `zakazy` (
  2.   `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  3.   `date` datetime,
  4.   `zakaz` varchar(300) NOT NULL DEFAULT '',
  5.   PRIMARY KEY  (`id`)
  6. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
2. Champion - 07 Марта, 2012 - 07:33:55 - перейти к сообщению
http://dev[dot]mysql[dot]com/doc/refman/[dot][dot][dot]tion_date-format вот
3. DNGX - 07 Марта, 2012 - 11:40:32 - перейти к сообщению
Спасибо. а где ошибка в моем коде?
4. DNGX - 07 Марта, 2012 - 17:02:33 - перейти к сообщению
Помогите пожалуйста найти и исправить ошибку, заранее спасибо.
5. DNGX - 07 Марта, 2012 - 20:37:56 - перейти к сообщению
Не могу понять почему у меня дата в базу записывается в таком виде 0000-00-00 00:00:00
6. DelphinPRO - 07 Марта, 2012 - 20:46:54 - перейти к сообщению
DNGX пишет:
Не могу понять почему у меня дата в базу записывается в таком виде 0000-00-00 00:00:00
потому что поле типа datetime O_o в каком виде она должна быть?
7. DNGX - 07 Марта, 2012 - 20:51:39 - перейти к сообщению
я дату указываю через админку в виде 10/03/12 12:00
8. DelphinPRO - 07 Марта, 2012 - 20:57:08 - перейти к сообщению
тип DATETIME подразумевает хранение даты именно в таком формате. если при выводе на страницу вам нужен другой формат, воспользуйтесь функцией date
9. DNGX - 07 Марта, 2012 - 21:00:56 - перейти к сообщению
У меня в админ панели скрипта есть форма, куда пишется заказ и дата/время исполнения. Дата/время будут вписываться в таком вот виде 10/03/12 12:00 . Вот я никак не могу понять, как правильно занести их в базу? И как правильно выводить?
10. DeepVarvar - 08 Марта, 2012 - 00:12:26 - перейти к сообщению
Ну что за жесть, госспаде....
PHP:
скопировать код в буфер обмена
  1. echo date("Y-m-d H:i:s", strtotime("10/03/12 12:00"));
  2. echo date("d/m/y H:i", strtotime("2012-10-03 12:00:00"));

(Добавление)
Мало?
Google => mysql DATE_FORMAT
11. DNGX - 08 Марта, 2012 - 13:30:18 - перейти к сообщению
Спасибо, но все-равно не пойму как это с моим кодом соединить(
12. DNGX - 09 Марта, 2012 - 20:24:43 - перейти к сообщению
Помогите пожалуйста внудрить это в мой код, заранее спасибо.
13. DNGX - 11 Марта, 2012 - 15:01:07 - перейти к сообщению
есть кто живой тут?
14. DNGX - 13 Марта, 2012 - 20:06:17 - перейти к сообщению
Народ помогите плиз!
15. UNTRUSTED - 13 Марта, 2012 - 21:55:02 - перейти к сообщению
Ну можно сделать например так:
Выводить вот так как было написано выше DeepVarvar!!!


(Добавление)
Или сделай в базе формат VARCHAR
И записывай в базу вот так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $d = explode("/",$a);
  3. $t = explode(":",$a);
  4. $time = mktime($t[1], $t[2], 0, $d[1], $d[0], $d[3]);
  5. mysql_query("INSERT INTO `zakazy` SET `zakaz`='$zakaz', [b]`date`='$time'[/b];") or die(mysql_error());
  6.  

А выводить потом так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $date = date("d m Y H:i",$time));
  3.  

 

Powered by ExBB FM 1.0 RC1