2012-01-12 5 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

Вы, кажется, возвращаетесь изнутри. Вы хотели сделать это? –

+1

Вам нужно переместить оператор return вне цикла foreach. –

ответ

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

+0

Вы очень желанны. – webbiedave

2

Try:

$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; 
} 
Смежные вопросы