将数据库值传递给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

+0

您正尝试访问服务器上的数据库,从客户端运行的JavaScript?你需要调用一个从db中获取数据并返回结果的Ajax。 – 2013-03-22 14:08:12

喜欢的东西:

<?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函数已被弃用。

+0

谢谢chrisblomm我会试试看... – 2013-03-22 14:16:42

+0

阵列推送需要2个参数导致错误! – 2013-03-22 14:48:43

+0

小小的错字,现在应该工作。 – chrisblomm 2013-03-22 14:50:29

可以使用AJAX调用PHP页面,并从获得价值。

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

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

+0

如果他不介意,可能使用[jQuery for ajax](http://api.jquery.com/jQuery.ajax/)会更容易学习。 – 2013-03-22 14:11:33

+0

@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; ?> 

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

+0

thaks让我试试这个.. – 2013-03-22 14:21:54

+0

我不能回显$ aTagList,它导致页面的一些缺失 – 2013-03-22 14:44:14

+0

究竟是什么造成的?您正在执行查询的php页面是否与打印标签时相同? – Blunderfest 2013-03-22 15:48:47