[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Внесение даты в MySQL
WisesT
Добрый день.
Подскажите пожалуйста.
Есть таблица в бд
CREATE TABLE `NewTable` (
`nomer` int(11) NOT NULL AUTO_INCREMENT ,
`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ,
`gotovnost` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`firma` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`adress` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`imya` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`tel` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`ves` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`kuda` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`oplata` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`primechaniya` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`prinyal` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`kurier` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`na_kogda` varchar(10) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`status` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
PRIMARY KEY (`nomer`)
)

ENGINE=InnoDB
DEFAULT
CHARACTER SET=utf8 COLLATE=utf8_bin
AUTO_INCREMENT=2
ROW_FORMAT=COMPACT
;

Интересует поле `na_kogda`

Есть форма ввода данных с обработчиком
<?php
include("config.php");
$data = array();


$data [] = 'gotovnost';
$data [] = 'firma';
$data [] = 'adress';
$data [] = 'imya';
$data [] = 'tel';
$data [] = 'ves';
$data [] = 'kuda';
$data [] = 'oplata';
$data [] = 'primechaniya';
$data [] = 'prinyal';
$data [] = 'kurier';
$na_kogda [] = 'na_kogda';
$status [] = 'status';
if (isset($_POST['vvod'])) {
$gotovnost = $_POST['gotovnost'];
$firma = $_POST['firma'];
$adress = $_POST['adress'];
$imya = $_POST['imya'];
$tel = $_POST['tel'];
$ves = $_POST['ves'];
$kuda = $_POST['kuda'];
$oplata = $_POST['oplata'];
$primechaniya = $_POST['primechaniya'];
$prinyal = $_POST['prinyal'];
$kurier = $_POST['kurier'];
$na_kogda = $_POST['na_kogda'];
$status = $_POST['status'];
if ($gotovnost != '' and $firma != '' and $adress != '' and $imya != '' and $tel != '' and $ves != '' and $kuda != '' and $oplata != '' and $prinyal != '' and $kurier != '') {


$add = mysql_query("INSERT INTO zakazy(na_kogda,gotovnost,firma,adress,imya,tel,ves,kuda,oplata,primechaniya,prinyal,kurier,status) VALUES ('$na_kogda','$gotovnost','$firma','$adress','$imya','$tel','$ves','$kuda','$oplata','$primechaniya','$prinyal','$kurier','$status')");
header("Location: ".$_SERVER['REQUEST_URI']);
}
else
{
echo "Вы заполнили не все поля";
}
}

?>

<form action="?" method="post" name="frt" >
<table
align="center">

<tr><td
class="t2">На когда</td>
<td> <input
type="text" size="50" maxlength="10" name="na_kogda" id="na_kogda"/></td></tr>
......

<tr><td colspan="2" align="center"><input type="submit" name="vvod" value="Ввести"/>
</td></tr>
</table>


Проблема:
Сейчас поле 'na_kogda' типа varchar
Каким типом нужно сделать это поле, что бы можно было вносить дату с формы?

П.С. К полю "На когда" в форме ввода прикручена маска 99-99-9999.
Подскажите пожалуйста



Спустя 21 минута, 29 секунд (17.01.2012 - 12:12) WisesT написал(а):
ужно использовать тип date но.
в этом типе данные хранятся в формате гггг-мм-чч а в форме вносится как чч-мм-гггг

Спустя 8 минут, 35 секунд (17.01.2012 - 12:21) rooor написал(а):
Где-то я этот код уже видел) :)

Форматируй дату перед записью.
Предложу вариант, но хз, мож ещё какие есть)

$date = explode("-", $_POST['na_kogda']);
$na_kogda = $date[2]."-".$date[1]."-".$date[0];

Спустя 9 минут, 42 секунды (17.01.2012 - 12:31) WisesT написал(а):
user posted image
Шпасяб)

Спустя 2 часа, 31 минута, 46 секунд (17.01.2012 - 15:02) Winston написал(а):
rooor
Можно проще:
$na_kogda = date("d-m-Y", strtotime($_POST['na_kogda']));

Спустя 12 минут, 14 секунд (17.01.2012 - 15:15) asokol написал(а):
Winston, а если хорошенько присмотреться к этому:
explode("d-m-Y", ...);

Спустя 48 минут, 30 секунд (17.01.2012 - 16:03) Winston написал(а):
Цитата (asokol @ 17.01.2012 - 14:15)
а если хорошенько присмотреться к этому:

Блин, точно.
asokol
Спасибо. Исправил.

Спустя 6 минут, 41 секунда (17.01.2012 - 16:10) inpost написал(а):
Поменял бы маску, или сделал бы через 3 инпута (год, месяц, день).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.