<?php
error_reporting(E_ALL^E_DEPRECATED);
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Accident: 服务器连接失败,请联系管理员');
}
else
{
mysql_query("set character set 'utf8'");
mysql_query("set names 'utf8'");
mysql_select_db("itrip",$con);
$result=mysql_query("SELECT * FROM spot");
while($row=mysql_fetch_array($result))
{
echo "var point = new BMap.Point(".$row['spotLon'].",".$row['spotLat'].");";
echo "var bizstart=".$row['bizTimeFrom'].";alert(bizstart);";
echo "var bizend=".$row['bizTimeTo'].";alert(".$row['bizTimeTo'].");";
echo "if(bizstart!=bizend){
var now=new Date();
var hour=now.getHours();
if((0<=hour&&hour<bizstart)||hour>bizend){
spotState=0;
}
else spotState=1;
}
else spotState=1;";
echo "addMarker(point,spotState);";
}
}
mysql_close($con);
?>以上只是截取JS代码中的php部分。我的两个点都有属性bizTimeFrom和bizTimeTo0600 18000600 2000执行之后的结果是 384 1800和384 2000而当我不使用任何别的语言,只是新建了一个php,echo $row['bizTimeFrom']." ".$row['bizTimeTo'];
echo "<br>";这样的结果又是 0600 1800和0600 2000了所以 求助怎么让显示结果是0600
1 回答
qq_青枣工作室_0
TA贡献446条经验 获得超754个赞
JS里,八进制就是用0开头表示啊。你可以在PHP里把左边的0删掉:
echo "var bizstart=".ltrim($row['bizTimeFrom'], '0').";alert(bizstart);";
或者,在JS里用字符串来表示'0600',再转为数字:
echo "var bizstart=parseInt('".$row['bizTimeFrom']."');alert(bizstart);";
添加回答
举报
0/150
提交
取消