Anirudh Goel
Anirudh Goel

Reputation: 4711

use php date string in javascript

i have a date entry in yyyy-mm-dd format in mysql database. Using php i could get the date value

$row = $myresult['date'];

now i wish to alert this value in javascript

so i tried

var temp_date = <?php echo($row)?>;
alert (temp_date);

but that didn't work for me. The problem i feel i am facing is to maintain the string format of the datestring, which seems to be getting lost when used in javascript. Any help?

Upvotes: 0

Views: 4755

Answers (6)

Bhushan
Bhushan

Reputation: 1

.php

$smarty->assign("profile_date",date("Y/m/d"));

.tpl

var NowDate=new Date("{/literal}{$profile_date}{literal}");

Upvotes: -1

Tom Haigh
Tom Haigh

Reputation: 57815

Use json_encode(). This will turn PHP variables into valid javascript, so you don't have to worry about quoting/escaping etc.

var temp_date = <?php echo json_encode($row); ?>;
alert (temp_date);

Upvotes: 1

Boldewyn
Boldewyn

Reputation: 82734

This answer originally was a quasi exact copy of the other four first.

If you need the date information as such, you could use Unix timestamps:

SELECT UNIX_TIMESTAMP(timefield) AS timestamp WHERE id = 1;

then just echo it in PHP into this JS snippet:

var mydate = new Date(<?php echo $row['timestamp']*1000; ?>);

You don't need quotes here, since you echo a number. This allows for, e.g.,

alert (mydate.getDate());

and the such.

Cheers,

Upvotes: 1

Luca Matteis
Luca Matteis

Reputation: 29267

String literals are sorrounded by double or single quotes in JavaScript:

var temp_date = "<?php echo($row)?>";
alert (temp_date);

Upvotes: 4

Tyler Carter
Tyler Carter

Reputation: 61557

var temp_date = '<?php echo($row)?>';
alert (temp_date);

Add quotes. Otherwise it will error because strings without quotes are troublesome.

Upvotes: 0

Christian C. Salvad&#243;
Christian C. Salvad&#243;

Reputation: 827256

You have to add quotes to your JavaScript variable assignation:

var temp_date = '<?php echo($row)?>';
alert (temp_date);

Upvotes: 0

Related Questions