2014-04-03 2 views
0

Я ищу, чтобы удалить 00:00:00 из базы данных. Обычно я могу это сделать, но я использую DataTables (что является новым для меня), поэтому я не знаю, как это сделать.Удаление времени из результата DataTables

Дата рождения дисплея как

1996-04-27 00:00:00 

Но мне это нужно, как

27-04-1996 

Кто-нибудь знаком с DataTables что может посоветовать?

У меня есть код ниже в server_processing.php для DataTables. Это не так просто, как просто использовать "SELECT DATE_FORMAT(date, '%Y-%m-%d %H:%i') AS formated_date FROM table", к сожалению!

/* Array of database columns which should be read and sent back to DataTables. Use a space where 
* you want to insert a non-database field (for example a counter or static image) 
*/ 
$aColumns = array('C_ID', 'C_Title', 'C_Surname', 'C_Forename', 'C_DOB', 'C_ID', 'C_Ref'); 

/* Indexed column (used for fast and accurate table cardinality) */ 
$sIndexColumn = "C_ID"; 

/* DB table to use */ 
$sTable = "Table1"; 

И

$sQuery = " 
    SELECT SQL_CALC_FOUND_ROWS `".str_replace(" , ", " ", implode("`, `", $aColumns))."` 
    FROM $sTable 
    $sWhereNew 
    $sOrder 
    $sLimit 
    "; 
$rResult = mysql_query($sQuery, $gaSql['link']) or die(mysql_error()); 

UPDATE

+1

Какую базу данных вы используете MySql Sql-сервер или что-то еще? –

+0

Вы получаете время в секундах, а затем хотите его удалить? Как насчет того, чтобы не получить время? Обратитесь к [this] (http://stackoverflow.com/questions/6718759/how-to-select-date-and-time-without-the-seconds-in-mysql) (при условии, что вы используете MySQL) – Nath

+0

Спасибо для ответов. Я использую MySql. К сожалению, это не так просто, как решение, которое вы связали с @Nath. Я использую DataTables. Я редактировал свой оригинальный вопрос, чтобы показать код. Спасибо за вашу помощь. – 5ummer5

ответ

0

Вы будете не так, но лучшее место, чтобы исправить это в яваскрипте определении таблицы, добавив функцию mRender:

$('#demotable').dataTable({ 
     "aoColumnDefs": [{ 
     "aTargets": [0] 
     }, { 
     "aTargets": [1], 
     "mRender": function(data, type, full) { 
      if (data === null) return 'N/A'; 
      if (data === '') return 'N/A'; 
      if (data == '0000-00-00 00:00:00') return 'N/A'; 
      var tdat = data.split(' '); 
      var tedat = tdat[0].split('-'); 
      return tedat[2] + '-' + tedat[1] + '-' + tedat[0]; 
     } 
     }, ] 
    } 
); 

Почему это так?

Потому что это оставит исходные данные неповрежденными и просто ПОКАЖЕТ модифицированный вывод. Самое приятное, что сортировка по-прежнему работает, потому что она использует исходную дату!

Look at this plunker and try sorting the Date-column

UPDATE

Это изображение выходного

Image of Output

+0

Еще раз! Спасибо за помощь!Я изменил #demotable на #mytablename, а также строку 5 на [4], которая является моей таблицей col с датой, но я получаю сообщение об ошибке «Предупреждение DataTables (таблица id =« пример-22 »): запрошенный неизвестный параметр '1' из источника данных для строки 0 " – 5ummer5

+0

Я добавил дополнительные таблицы cols в ваш пример на plunker, но он разбивает рендеринг. Моя таблица имеет 5 колоний, а дата - в 4-м столбце. – 5ummer5

+0

Спрятал плункер здесь: http://plnkr.co/edit/oNBPT9hN12IJP4kgdCnu?p=preview Вам нужно столько столбцов, сколько столбцов в таблице. Не забудьте установить aTargets. Внесите свои изменения, и если это не сработает, пришлите мне раздвоенный Plunker, так что я могу использовать свои безумные навыки fixz :-) – mainguy

Смежные вопросы