Как преобразовать тип MySQL DATETIME в строку для использования в Javascript? - PullRequest
0 голосов
/ 22 февраля 2010

Я хочу отобразить DATETIME, полученный из базы данных mySQL, в виде строки в Javascript.

Я использую PHP для помещения DATETIME в переменную: $ mydatetime.

Прекрасно отображается на странице PHP, но не в моей функции JavaScript.

<?php
    echo $mydatetime       --> 2010-04-19 13:00:00
    echo "<script language=javascript>myfunction($mydatetime);</script>";        
?>

Javascript

function myfunction(mydatetime) {
    alert(mydatetime);
}

Это приводит к ошибке в моей консоли: Uncaught SyntaxError: Неожиданное число

Я пробовал много вещей, чтобы попытаться преобразовать mydatetime в строку, но, похоже, ничего не работает.

Любая помощь приветствуется, спасибо.

Ответы [ 2 ]

1 голос
/ 22 февраля 2010

Я не знаю, какой формат вам нужен для вашей функции - вы не указываете. Скорее всего, вам просто нужно заключить значение в кавычки:

echo "<script language=javascript>myfunction('$mydatetime');</script>";    

Но общий способ преобразования дат из mySQL во что-то другое в PHP:

  1. Превратить дату в метку времени: $mytimestamp = strtotime($mydatetime); Strtotime может считывать большое количество форматов времени, среди которых DATETIME. Руководство по strtotime здесь

  2. Выведите метку времени в любом формате, который вам нравится: echo date("Y-m-d", $mytimestamp); Вручную на date опции форматирования здесь

0 голосов
/ 22 февраля 2010

Это строка, поэтому Javascript нужен в кавычках:

<?php
    echo $mydatetime       --> 2010-04-19 13:00:00
    echo "<script language=javascript>myfunction('$mydatetime');</script>";        
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...