2010-10-30 64 views
0

我有一个名为users_msgs这些列的表:PHP:显示两次

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个弹出窗口。

现在我只能得到1个弹出窗口,而不是每个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 n数据XX回答”当你有与上述行?

回答

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

会给你两行返回(对于每个ndata为用户= $用户一个)。

我不跟着你想要做什么,所以让我们只把它简化一下,也许你会得到它:

<?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。该消息只是简单地说:“你有一个NDATA#消息!” (用表中的值替换ndata#)

就像我说的,我对你到底在做什么感到困惑,但希望这可以帮助你一点。

+0

我该如何在我的代码中处理这个问题? – Johnson 2010-10-30 20:27:06

+0

我更新了上面的内容,希望能让你知道我要去哪里。 – pinkfloydx33 2010-10-30 20:40:00

+0

好的,我在哪里可以选择* from users_msgs? – Johnson 2010-10-30 21:09:33