我使用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
答案 0 :(得分:2)
您可以使用AJAX调用php页面并从中获取值。
调用php页面,查询后只需使用echo
返回值。您可以使用javascript
responseText
获取该值
答案 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函数。