0

如何使用 jascript 更改基于 mysql 结果的多个 div 的内容

这是我的代码:

<?php
$sql = "SELECT userid, username FROM tbl_user";
$myResult = mysql_query ($sql); 
$num=mysql_numrows($myResult);
$i=0;

while ($i < $num) 
{
?>
<div id="userName"><?php echo mysql_result($myResult,$i,"username"); ?></div>
<div id="onlineStatus"></div>
<script language="javascript" type="text/javascript">
    window.onload = function() {
        jqcc.cometchat.getUser('<?php echo mysql_result($myResult,$i,"userid"); ?>','checkstatus');
   }
   function checkstatus(data) {
       console.log(data); // To see output using Firebug
       if (data.s == 'available') {
           document.getElementById("onlineStatus").innerHTML="Online";
       }
       else
       {
           document.getElementById("onlineStatus").innerHTML="Offline";
       }
   }                    
</script>
<?php
    $i++;
}
?>

这只会将第一个“onlineStatus”div 更改为 Online 或 Offline。如何相应地更改所有“onlineStatus” div?

任何帮助将不胜感激。

4

1 回答 1

0

你应该尝试将 php mysql_result($myResult,$i,"userid") 分配给一个变量,然后检查它的类型..(它是一个数组,一个字符串,它是空的......)如果它是一个常见的字符串并且可以用 echo 打印,您应该可以在 js 代码中标记它:

<?php $myVar = mysql_result($myResult,$i,"userid"); ?>
jqcc.cometchat.getUser('<?php echo $myVar; ?>','checkstatus');
于 2013-01-28T10:00:18.567 回答