Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Исправить строку на DATETIME Mysql
 
 автор: segazav   (08.04.2013 в 17:33)   письмо автору
 
 

Скрипт календаря заполняет текстовое поле (input name = "data_rabot") формы датой, формата: день-месяц-год (например: 10-04-2013).

Подскажите, как исправить эту дату на необходимый формат Mysql: DATETIME, чтобы затем занести её в базу, а затем выводить с сортировкой по DATETIME.

Пробовал так, но не заносит в базу значение $data:

$hours и $minutes заполняются в ручную в отдельных полях input в формате 23:00.

$day = substr($data_rabot, 0, 2); $mouth = substr($data_rabot, 3, 2); $year = substr($data_rabot, 6, 4);
$data = "$year-$mouth-$day"; // переворачиваем дату
$data = "$data $hours:$minutes:00"; // добавляем часы, минуты, секунды


В итоге $data = 2013-04-10 12:34:00, но все равно не добавляется в таблицу.

Или может посоветуйте скрипт календаря с выбором даты и времени в сразу в формате DATETIME...

  Ответить  
 
 автор: Lotanaen   (08.04.2013 в 17:49)   письмо автору
 
   для: segazav   (08.04.2013 в 17:33)
 

а сам запрос к БД покажите

  Ответить  
 
 автор: Slo_Nik   (08.04.2013 в 17:55)   письмо автору
 
   для: segazav   (08.04.2013 в 17:33)
 

когда пишите в базу, проверяете ошибки при выполнении запроса?
Что-то типа

<?php
 
if(!mysql_query('ваш_запрос')){ echo mysql_error();}
?>

  Ответить  
 
 автор: segazav   (08.04.2013 в 18:01)   письмо автору
 
   для: Slo_Nik   (08.04.2013 в 17:55)
 

Выдало: Column count doesn't match value count at row 1

  Ответить  
 
 автор: Slo_Nik   (08.04.2013 в 18:04)   письмо автору
 
   для: segazav   (08.04.2013 в 18:01)
 

вот Вам и причина, почему не пишет в базу

"Column count doesn't match value count at row 1" -> "Количество столбцов не совпадает с количеством значений в строке 1"

всегда делайте проверку, быстрей будет самому исправить ошибку, чем на форум писать)))

  Ответить  
 
 автор: segazav   (08.04.2013 в 18:15)   письмо автору
 
   для: Slo_Nik   (08.04.2013 в 18:04)
 

Спасибо, нашел причину: забыл поставить запятую.
А я всю голову изломал!!!!
Вообще забыл, что можно узнать ошибку с помощью mysql_error()

  Ответить  
 
 автор: confirm   (09.04.2013 в 12:56)   письмо автору
 
   для: segazav   (08.04.2013 в 17:33)
 

Переворачиваем:
<?
$date 
implode('-'array_reverse(explode('-''10-04-2013'))).' '.$hours.':'.$minutes;

Не переворачиваем а проверяем, и устанавливаем корректный формат:
<?
if($date strtotime(trim('10-04-2013').' '.$hours.':'.$minutes)) {
    
//на запись
   
$date date('Y-m-d H:i'$date);
}

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования