将数据库值传递给JavaScript
我使用MySQL连接和PHP检索了当前在线的所有朋友的姓名。将数据库值传递给JavaScript
现在我想在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'];
}
我想告诉每个$get_usernames['username']
作为朋友1,FRIEND2,里面的JavaScript
喜欢的东西:
<?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是更加简洁ofcourse,但如果是在同一个PHP文件,这将足够了。
另外,我想鼓励你转移到PDO或Mysqli,因为mysql函数已被弃用。
谢谢chrisblomm我会试试看... – 2013-03-22 14:16:42
阵列推送需要2个参数导致错误! – 2013-03-22 14:48:43
小小的错字,现在应该工作。 – chrisblomm 2013-03-22 14:50:29
可以使用AJAX调用PHP页面,并从获得价值。
调用php页面,查询后只需使用echo
返回值。你可以在javascript
如果他不介意,可能使用[jQuery for ajax](http://api.jquery.com/jQuery.ajax/)会更容易学习。 – 2013-03-22 14:11:33
@BojanKovacevic是的jquery真棒简单,更容易 – 2013-03-22 14:12:25
使用responseText
如果您希望将里面的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; ?>
不知道是否我所有的转义正确,但它应该给你正确的想法。
thaks让我试试这个.. – 2013-03-22 14:21:54
我不能回显$ aTagList,它导致页面的一些缺失 – 2013-03-22 14:44:14
究竟是什么造成的?您正在执行查询的php页面是否与打印标签时相同? – Blunderfest 2013-03-22 15:48:47
您正尝试访问服务器上的数据库,从客户端运行的JavaScript?你需要调用一个从db中获取数据并返回结果的Ajax。 – 2013-03-22 14:08:12