2010-10-30 86 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