2017-04-13 53 views
-1

我有一个PHP代码,得到lat和长在数据库中的用户,是这样的:我如何隐藏这个PHP回声?

$data = array(); 
echo " var latlong = [ " ; 

for ($x = 0; $x < mysql_num_rows($result); $x++) { 
    $data[] = mysql_fetch_assoc($result); 
    echo " [ " , $data[ $x][ 'lat' ], " , " , $data[ $x][ 'lng' ], " ] " ; 
    if ($x <= (mysql_num_rows($result) - 2)) { 
     echo " , " ; 
    } 
} 
    echo " ]; " ; 

json_encode($data); 

然后在我的index.php我有这样的JavaScript来阅读:

var latlong = <?php echo json_encode($data); ?>; 

问题是,我的PHP打印所有的值在屏幕上,我怎么可以隐藏它?

+3

如何从您的PHP中删除所有回声?顺便说一句,你是json_encoding一个数组,你已经json_encoded? –

+0

只是用''''注释'echo's?您在编码中引用'$ data' – arcs

+0

如果您想从PHP页面获取信息而不回应您应该使用AJAX-Request的所有内容。 –

回答

0

也许你需要理解代码:

$data = array(); 
echo " var latlong = [ " ; 

for ($x = 0; $x < mysql_num_rows($result); $x++) { 
    $data[] = mysql_fetch_assoc($result); 
    echo " [ " , $data[ $x][ 'lat' ], " , " , $data[ $x][ 'lng' ], " ] " ; 
    if ($x <= (mysql_num_rows($result) - 2)) { 
     echo " , " ; 
    } 
} 

echo " ]; " ; 

json_encode($data); 

由于有一些 “回声” 中的代码,例如:echo " [ " , $data[ $x][ 'lat' ], " , " , $data[ $x][ 'lng' ], " ] " ;,该打印的JSON。 只是删除thief echo或评论他们使用///* echo part */

+0

我只是删除所有的回声,现在PHP不正确保存数组,实际上它没有使数组:'( –

+0

奇怪,顺便说一句,你只需要从脚本中删除回声,但保持'<?php回声json_encode( ?$数据);>;' – kaldoran

+0

对,就是代码: –

0

你忘了把你的JS代码换成script标签(你也输出var latlong两次)。

<script> 
    <?php echo json_encode($data); ?>; 
</script>