2012-11-06 47 views
0

大家好我已經從bluefleet(BF)與MySQL查詢,我現在把一個PHP文件,查詢工作正常,但我發現我需要獲得額外的數據以及計數,所以我需要的是當發現匹配時,我需要在表tview3中查找用戶名。在MYSQL計數查詢中獲取額外的數據

無論發現哪個ip表匹配,都會有一個名爲UID的列,在表tview3中還會有一個名爲USERNAME的列,我想要做的是獲取用戶名(s)然後在文本文件中使用它們。

我必須聲明我在這一個完整的新手,所有的幫助表示讚賞

$myquery= "select sum(total) 
from 
(
    SELECT count(*) as total 
    FROM " .TABLE_PREFIX."tview v 
    where v.ipaddress = '$ips' 
    union all 
    SELECT count(*) as total 
    FROM " .TABLE_PREFIX."tview2 v1 
    where v1.ipaddress = '$ips' 
    union all 
    SELECT count(*) as total 
    FROM " .TABLE_PREFIX."tview3 v3 
    where v3.ipaddress = '$ips' 
) src"; 

$result = mysql_query($myquery); 
    $rowCount = mysql_num_rows($result); 
    If($rowCount !=0){ 
     echo "NOT EMPTY"; 
    }else{ 
     echo "EMPTY"; 
    } 
    mysql_free_result($result); 

$UAM = strtoupper($_SERVER['HTTP_USER_AGENT']); 
$ips = strtoupper($_SERVER['REMOTE_ADDR']); 
$fp = fopen("logtext.txt", "a"); 
$DateOfRequest = date('m-d-Y H:i:s'); 

fwrite($fp, "$DateOfRequest . \nMatched Member: . $username . \nWith User Agent: . $UAM . \n\nIP: . $ips . \n\n"); 

所以我想填充一個變量$ USERNAME的用戶名(S)的比賽,其中被發現。

問候, 筒倉

回答

0

變化:

SELECT count(*) as total

SELECT count(*) as total, username 

然後,你可以這樣做:

$row = mysql_fetch_array($query); 
$username = $row['username']; 

希望有所幫助。另外看看這個問題的更多細節:How do I find the most common result in a column in my MySQL table

+1

也許。目前還不清楚OP是否知道*聚合函數如何在SQL中工作。他可能希望像SELECT'username,count(*)一樣添加'GROUP BY'作爲總數FROM「.TABLE_PREFIX。」tview v其中v.ipaddress ='$ ips'GROUP BY username'。 –

+0

您鏈接的答案顯示了「GROUP BY」,但您不在此處顯示。 –

+0

感謝您的答案,我是一個完整的新手,我可以只添加你給我的PHP代碼上面的$ UAM,然後在寫入文本文件中使用$用戶名? – Silo