Изменить формат даты в php

531
26 ноября 2016, 20:22

У меня в БД два поля с датами date,date1 и в них дата сейчас выводится так: 2016-09-25.Я хочу сделать вот так: 25-09-2016. Пытался менять формат на : d-m-Y ,но выводит на месте даты 0000-00-00

Помогите пожалуйста.

В файле который выводит из бд данные запрос такой:

$rezult=mysql_query("SELECT * FROM klienti");

В файле который добавляет запрос код такой:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="calendar/tcal.js"></script> <!-- //календарь -->
<link rel="stylesheet" type="text/css" href="calendar/tcal.css" /> <!-- //календарь -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Добавление клиента</title>
<script  src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
$("document").ready(function() {
$ ("form").submit(function(event){
    event.preventDefault(); // !!!
    var dannie = $("form").serialize();
    $.ajax({
        url:'insert.php',
        type: 'POST',
        data: dannie,
        success: function (data) {
            if (data) {
                alert("Успешно добавлена") ;
                      } 
            else {          
            alert("Ошибка");
                 }
                }
});
});
});
</script>
</head>
<body>
<form>
клиент<br/>
<input type="text" name="klient" /><br/>
ОП_форма <br/>
<textarea name="op_forma" ></textarea> <br/> <!-- cols="10" rows="10" -->
Наимен <br/>
<input type="text" name="naimen"  /><br/><br/>
отрасль <br/>
<input type="text" name="otrasl"  /><br/><br/>
telefon <br/>
<input type="text" name="telefon"  /><br/><br/>
email <br/>
<input type="text" name="email"  /><br/><br/>
Контактное лицо <br/>
<input type="text" name="kont_lico"  /><br/><br/>
Должность <br/>
<input type="text" name="dolznost"  /><br/><br/>
<input type="hidden" name="date" value="<?php echo date ('d-m-Y');?>" />
<input type="hidden" name="time" value="<?php echo date ('H:i:s');?>" />
<br/>
<input type="text" name="date1" class="tcal"  value="" />
<br/>
<input type="submit"  id="send"  value="Добавить" />
<input type="button" name="reset_form" value="Очистить форму" onclick="this.form.reset();">
</form>
</body>
</html>

В файле отвечающем за вставку в БД

<?php 
$connection=mysql_connect("localhost","reklama","reklama") ;
mysql_select_db('reklama');
mysql_set_charset("utf8");
$ret=true;
mysql_query(" INSERT INTO `klienti` (klient,op_forma,naimen,otrasl,telefon,email,kont_lico,dolznost,date,date1,time)
    VALUES ('". $_POST ['klient'] ."' , '" .  $_POST ['op_forma']  ."', '" .  $_POST ['naimen']  ."', '" .  $_POST ['otrasl']  ."', '" .  $_POST ['telefon']  ."', '" .  $_POST ['email']  ."', '" .  $_POST ['kont_lico']  ."', '" .  $_POST ['dolznost']  ."', '" .  $_POST ['date']  ."', '" .  $_POST ['date1']  ."', '" .  $_POST ['time']  ."')") or $ret=false;
echo $ret;
 ?>
Answer 1

Тип данных DATE используется для величин, содержащих информацию о дате. MySQL извлекает и выводит величины DATE в формате 'YYYY-MM-DD'.

Вы не сможете изменить в базе данных формат хранения на другой никак - это стандарт MySQL.

Для форматирования вывода воспользуйтесь классом DateTime, который позволяет удобно работать с датами.

DateTime::createFromFormat('Y-m-d', '2015-05-24')->format('d-m-Y');
Answer 2
date_format(date_create($date), 'd-m-Y');
Answer 3

можно попробывать strtotime($date)

date(strtotime($date),'d-m-Y');

http://sandbox.onlinephpfunctions.com/code/ffb08eac54ea6208556727e9b4d27f54647bbc15

Answer 4
  1. mysql - устаревшее расширение. Используйте mysqli https://habrahabr.ru/post/141127/ http://phpclub.ru/detail/article/mysqli

  2. Опасайтесь SQL инъекций, нельзя напрямую в базу отдавать, что пришло в массиве $_POST (VALUES ('". $_POST ['klient'] ."' , '" . $_POST ['op_forma']) https://habrahabr.ru/post/148151/ https://habrahabr.ru/post/148701/

  3. Попробуйте использовать нормальный IDE для написания кода, который научит хорошему форматированию кода, кроме остальных преимуществ (например PhpStorm, он умеет автоматически форматировать код по сочетанию клавиш ctrl+alt+L)

  4. Что касается ответа на вопрос, то как писали выше, класс DateTime в помощь. http://ru2.php.net/manual/ru/book.datetime.php

READ ALSO
Можно ли упростить запрос

Можно ли упростить запрос

Доброе время суток, Есть 3 табл: «roles» (табл

324
Реализация фильтра по городам: лоигка и порядок действий

Реализация фильтра по городам: лоигка и порядок действий

Добрый день! Я только закончил изучение PHP и MySQL и сейчас тренируюсь с созданием первого сайтаМожете объяснить порядок создания фильтра по городам?...

307
Чем плохо возникновение ошибок в работе с БД?

Чем плохо возникновение ошибок в работе с БД?

ЗдравствуйтеУ меня есть база данных, в которой время от времени меняются столбцы(добавляются, удаляются)

311
Как вывести категории в тег Select

Как вывести категории в тег Select

Ребят как такой же скрипт поместить в тег SELECTЭтот скрипт у меня выводит категории на сайте

331