将数据库值传递给JavaScript

时间:2013-03-22 14:02:55

标签: php javascript mysql

我使用MySQL连接和PHP检索了当前在线的所有朋友的名字。

现在我想在JavaScript中插入他们的名字,以便与他们聊天。

<a href="javascript:void(0)" onclick="javascript:chatWith('Friend1')">Friend1 </a>
<a href="javascript:void(0)" onclick="javascript:chatWith('Friend2')">Friend2 </a>

我无法做到这一点。因为我不知道如何在PHP内部调用JavaScript或反之亦然。

while($get_usernames=mysql_fetch_array($get_users_query)) {             
    echo '<br>'.$get_usernames['username'];                         
}

我想在JavaScript中将$get_usernames['username']中的每一个显示为Friend1,Friend2

3 个答案:

答案 0 :(得分:2)

您可以使用AJAX调用php页面并从中获取值。

调用php页面,查询后只需使用echo返回值。您可以使用javascript

中的responseText获取该值

http://www.tizag.com/ajaxTutorial/ajaxphp.php

答案 1 :(得分:1)

如果你想在javascript中放置一些PHP变量,一个简单的方法是通过简单地使用页面内的php循环来创建一个标签。

这样的事情:

$aTagList = "";
while($get_usernames=mysql_fetch_array($get_users_query)) {             
    $aTagList .= "<a href='javascript:void(0)' onclick='javascript:chatWith(\"".$get_usernames['username']."\")>".$get_usernames['username']."</a>";                         
}

然后在页面中使用内联代码回显$ aTagList。

<?php echo $aTagList; ?>

不确定我是否已将所有转义正确,但它应该给你正确的想法。

答案 2 :(得分:0)

类似的东西:

<?php
$aUsernames = array();
while($get_usernames=mysql_fetch_array($get_users_query)) {             
    array_push($aUsernames, $get_usernames['username']);                         
}
foreach($aUsernames as $name) {
?>
<a href="javascript:void(0)" onclick="javascript:chatWith('<?php echo $name; ?>')"><?= $name; ?> </a>
<?php
}
?>

使用AJAX是非常简洁的,但如果它只在一个PHP文件中就足够了。

此外,我还是鼓励您转移到PDO或Mysqli,因为不推荐使用mysql函数。