2012-01-12 41 views
0

我想從插入的URL中加起來的字符長度。我已經從數據庫中的數據庫中抓取了所有選定的URL,並試圖將它們添加到foreach函數中。從SQL數組中添加字符串長度

function countLen($email) { 

    $countLen = mysql_query("SELECT url FROM urls WHERE user='$email'"); 
    $resultLen = mysql_result($countLen, 0); 

    foreach($resultLen as &$string) { 


     $length = strlen($string); 
     $totallen = ($totallen + $length); 

     return $totallen; 




    } 





} 
+2

你似乎從foreach內返回。你有意這麼做嗎? – 2012-01-12 21:29:57

+1

您需要將您的return語句移到foreach循環之外。 – 2012-01-12 21:31:04

回答

6

你可能只是做這一切的總結在SQL:

function countLen($email) 
{ 
    $res = mysql_query("SELECT SUM(LENGTH(url)) as 'sum' FROM urls WHERE user='$email'"); 
    return current(mysql_fetch_array($res)); 
} 
+0

完美謝謝 – HarryBeasant 2012-01-12 21:32:02

+0

非常歡迎。 – webbiedave 2012-01-12 21:42:41

2

嘗試:

$total = 0; 

$res = mysql_query("SELECT url FROM urls WHERE user='$email'"); 
while($row = mysql_fetch_assoc($res)) 
{ 
    $total += strlen($row['url']); 
} 
1

回報應該出的圈..像

function countLen($email) { 

    $countLen = mysql_query("SELECT url FROM urls WHERE user='$email'"); 
    $resultLen = mysql_result($countLen, 0); 
    $totallen = 0; 
    foreach($resultLen as &$string) { 
    $length = strlen($string); 
    $totallen = ($length + $totallen); 
    } 
    return $totallen; 
}