PHP:显示两次

时间:2010-10-30 20:03:57

标签: php

我有一个名为users_msgs的表,其中包含以下列:

id | uID | nData

它有这些行:

1 | 2 | 20
2 | 2 | 20
3 | 2 | 20
4 | 2 | 20
5 | 2 | 25
6 | 2 | 25
7 | 2 | 25
8 | 2 | 25

uID是用户ID。因此,用户2已经在nDataid 20中写入了四次,与他在nDataid 25中所做的相同。

我想这样你只需要为每个相同的nData获得一个弹出窗口。所以通过这些行我会得到2个弹出窗口。

现在我只获得一个弹出窗口,而不是每个相同的nData。但这可能是我选择的方式:

<?php
$string = mysql_query("SELECT * FROM users_msgs 
            WHERE uID = '$USER' 
                AND type = 'wallComment'
            ")or die(mysql_error());
$get = mysql_fetch_array($string);
$sWall = mysql_num_rows($string);
    if($sWall>1){
?>
<script language="javascript" type="text/javascript">
$(document).ready(function(){
        jGrowlTheme('wallPop', 'mono', 'Wall', 'You have <?php echo $sWall; ?> answers in id <?php echo $get["nData"]; ?>', 'images/wall.png', 10000);
        });
    </script>
<?php
}elseif($sWall==1){ 
?>
<script language="javascript" type="text/javascript">
$(document).ready(function(){
        jGrowlTheme('wallPop', 'mono', 'Wall', 'You have one new answer in id <?php echo $c; ?>', 'images/wall.png', 10000);
        });
    </script>
<?php } ?>

如何解决这个问题,所以当你有上述行时,有两个弹出窗口“你有id nData中的xx答案”吗?

1 个答案:

答案 0 :(得分:0)

select distinct uuid, ndata from users_msgs where uID = '$USER' and type = 'wallComment'

会返回两行(每个ndata对应一个用户= $ user)。

我不遵循你想要做的事情,所以让我们稍微简化它,也许你会得到它:

<?php
$string = mysql_query("SELECT distinct uuid, ndata FROM users_msgs 
            WHERE uID = '$USER' 
                AND type = 'wallComment'
            ")or die(mysql_error());
?>
<script language="javascript" type="text/javascript">
    $(document).ready(function(){  
        <?
         while ($sWall = mysql_fetch_assoc($string)) {
              echo 'alert("You have a message for ' . $sWall['ndata'] . '!")';
         }
        ?>        
    });
</script>

会为该用户的每个不同的ndata id为ready()函数写一个alert语句。该消息只会说“你有一条NDATA消息#!” (将ndata#替换为表中的值)

就像我说的那样,我对你到底在做什么感到有些困惑,但希望这会对你有所帮助。