Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Закрытая темаСоздание новой темыСоздание опроса

> Дата, date, datetime, Запись даты в базу и вывод даты
Dark_Strannik  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 15
Пользователь №: 33042
На форуме: 12 лет, 11 месяцев, 1 день
Карма:




Я новичок в php, так что сильно не бранитесь.
Есть файл с базой, в ней поле дата.
Есть файл с формой, для записи в базу даты(если отправляю дату не верно, подскажите как нужно).
Нужно достать из базы все даты зимнего периода(год и день не важны), и вывести их.
Не знаю как, так как в базу уходит строка. Прошу помощи.

<?php
//отдельный файл
$sql = "CREATE TABLE `car`(//Создаю таблицу
`date` datetime NOT NULL default '0000-00-00 00:00:00'//Поле дата
)"
;
mysql_query($sql) or die(mysql_error());
mysql_close();
//кончился файл с базой
?>



<?php
//начался файл с формой
//соединение с базой и выбор таблицы опустил

if(!empty($_POST['date'])){
$d = $_POST['date'];
$sql="INSERT INTO `car` (`date`) VALUE('$d')";//записал значение даты в поле date
mysql_query($sql) or die(mysql_error());
header("Location: file.php");
exit;
}
?>

<!--Форма-->
<
form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<?$t=time()?>
Дата выпуска<br/>
<
input type="text" name="date" value="<?=date('Y-M-d H:i:s', $t)?>">
<
input type="submit" value="Добавить">
</
form>
<?php
$sql="SELECT `date` FROM `car`";
$usqrs = mysql_query($sql) or die(mysql_error());
mysql_close();

while($user = mysql_fetch_assoc($users)){//вывожу дату
echo $user['date']."<br>";
}
?>




Спустя 1 час, 53 минуты, 5 секунд (18.08.2012 - 10:43) OleKh написал(а):
Точно не уверен, но зачем тут знак равенства?

<?=date('Y-M-d H:i:s', $t)?>

Спустя 36 минут, 41 секунда (18.08.2012 - 11:20) T1grOK написал(а):
Цитата (OleKh @ 18.08.2012 - 08:43)
Точно не уверен, но зачем тут знак равенства?

<?=date('Y-M-d H:i:s', $t)?>

С этим все норм. Это сокращение echo.

В базу должна приходить дата в формате: Y-m-d H:i:s.
Вот это лишнее. $t - здесь "пустая"(лишняя) переменная, т-к функция date без наличия второго параметра сама определяет текущий timestamp и преобразует к "удобочитаемому" формату.


<?$t=time()?>
<?=
date('Y-M-d H:i:s', $t)?>

Спустя 4 минуты, 2 секунды (18.08.2012 - 11:24) killer8080 написал(а):
Цитата (OleKh @ 18.08.2012 - 11:43)
Точно не уверен, но зачем тут знак равенства?

Это сокращенная запись от
<?php echo date('Y-M-d H:i:s', $t); ?>

Цитата (Dark_Strannik @ 18.08.2012 - 09:50)
Нужно достать из базы все даты зимнего периода(год и день не важны), и вывести их.

SELECT * FROM `car` WHERE MONTH (`date`) IN (1,2,12)

Спустя 56 минут, 37 секунд (18.08.2012 - 12:21) OleKh написал(а):
ну тогда почему !?
action="<?php echo $_SERVER['PHP_SELF']; ?>" 
тоже надо сократить, а то не порядок получается :)

Может топикстартеру тоже будет полезно знать.
http://ua2.php.net/manual/ru/ini.core.php#ini.short-open-tag
Цитата
Для использования этого сокращения должна была быть включена директива short_open_tag. Начиная с версии PHP 5.4.0 запись <?= стала доступна всегда.

Спустя 18 часов, 18 минут, 49 секунд (19.08.2012 - 06:39) Dark_Strannik написал(а):
Благодарю парни, все работает.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Закрытая темаСоздание новой темыСоздание опроса