Простите, это длинный. Я хочу дать все основания для этого вопроса.
Я использую DataTables серверную обработку для проекта. Моя цель - использовать функцию echo
для echo
количество дней между сегодняшней датой и датами в столбце моей базы данных под названием CreatedDate, который является типом DateTime.
Я пытался получить базовую функциональность рабочего за пределами DataTables первых, функция ниже работает как задумано, и выводит $current_date
количества дней между $date
и $date
как: «16 дней в прямом эфире», «15 дней жить», и т.д .:
$sql = "SELECT CreatedDate FROM Estimates";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$created_date = $row["CreatedDate"];
$date = new DateTime($created_date);
$current_date = new DateTime();
$diff = date_diff($date, $current_date);
echo $diff->format('%d days live');
}
} else {
echo "No results";
}
в моих DataTables $columns
массива, я пытаюсь добиться того же эффекта:
// date variable
$created_date = 'CreatedDate';
$current_date = new DateTime();
// array of database columns which should be read and sent back to DataTables.
// the 'db' parameter represents the column name in the database, while the 'dt'
// parameter represents the DataTables column identifier.
$columns = array(
array('db' => 'Client', 'dt' => 0),
array('db' => 'EstimateNumber', 'dt' => 1),
array('db' => 'Status', 'dt' => 2),
array('db' => 'CurrentEstimateTotal', 'dt' => 3),
array(
'db' => $created_date,
'dt' => 4,
'formatter' =>
function ($created_date, $row) use ($current_date) {
$date = new DateTime($created_date);
$diff = date_diff($date, $current_date);
echo $diff->format('%d days live');
}
)
);
я держу ПОЛУЧАТЬ ошибку в:
PHP Notice: Trying to get property of non-object.
Как это исправить? Мне трудно получить переменную var_dump() из переменных $created_date
и $date
в массиве DataTables, чтобы узнать, в чем проблема.
Для получения дополнительных сведений о обработке серверных данных DataTables, I am using this template as a base for my DataTables script. В сценарии DataTables также используется this helper class.. Заранее благодарю вас!
Спасибо! Почему мне нужно «возвращать» вместо «echo»? – Liz
Закрытие должно что-то вернуть, поэтому где-то внутри кода «datatable.com» он инициирует некоторый объект на его основе. Трудно сделать вывод изображения без возврата, поскольку нам обычно нужен результат :) – jaro1989
Это работало как шарм! Спасибо! – Liz