Я не могу назначить только дату для переменной php из поля datetime
таблицы MySQL. Я использую PHP 4 , я знаю, как это сделать на PHP 5.
Может кто-то помочь в том, чего не хватает в приведенном ниже PHP-коде.
$dc = mysql_query("SELECT * FROM INVHDR WHERE Invdate BETWEEN '2011-04-01' AND '2012-03-31'"); while ($dc2 = mysql_fetch_assoc($dc)) { $invno = $dc2['Invno']; // Here Invno is a datetime field type $invdat3 = $dc2['Invdate']; $date_array = explode("-", $invdat3); $invdat = sprintf('%02d/%02d/%4d', $date_array[2], $date_array[1], $date_array[0]); }
Если вы просто хотите отобразить часть даты, вы можете использовать функцию date
:
echo date("d/m/Y", strtotime("2012-12-24 12:13:14"));
Существует ссылка, которую я нахожу чрезвычайно полезной, когда дело доходит до даты манипуляции: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
там легко найти решение:
SELECT *, DATE(Invdate) as Inv_date ...
Сделайте это непосредственно в MySQL:
select DATE_FORMAT('2012-12-24 12:13:14', '%Y/%m/%d')
Таким образом, ваш запрос будет выглядеть так:
SELECT DATE_FORMAT(Invdate, '%Y/%m/%d') FROM INVHDR WHERE Invdate BETWEEN '$startdat' AND '$enddat'