2011-12-15 13 views
0

ユーザーIDに基づいてリンクを返す関数があります。関数が瞬時に行うのは、ユーザーIDに基づいたリンクのセットではなく、ただ1つのリンクを返すということです。関数は次のようになります。期待通りにデータを返さない関数

function retrieve_image_link($user_id) 
{ 
    $query = mysql_query("SELECT `image_link` FROM `imgit_images` WHERE user_id = '" . intval($user_id) . "'"); 

    while ($row = mysql_fetch_assoc($query)) 
    { 
     $link = $row['image_link'] . '<br />'; 
    } 
    mysql_free_result($query); 

    return $link; 
} 

これは、1つではなく複数のリンクを取得するコードです。クエリが配列ではなく文字列を返す問題はどこですか?

助けてください!

+2

$リンクは配列ではありません – Mansuro

答えて

4

あなたは$array[] = "link";

function retrieve_image_link($user_id) 
{ 
    $query = mysql_query("SELECT `image_link` FROM `imgit_images` WHERE user_id = '" . intval($user_id) . "'"); 

    while ($row = mysql_fetch_assoc($query)) 
    { 
     //add bracktes to $link to return an array 
     $link[] = $row['image_link'] . '<br />'; 
    } 
    mysql_free_result($query); 

    return $link; 
} 

のように配列へのリンクを適用するか、あなたは一つの大きな文字列

function retrieve_image_link($user_id) 
{ 
    $query = mysql_query("SELECT `image_link` FROM `imgit_images` WHERE user_id = '" . intval($user_id) . "'"); 

    while ($row = mysql_fetch_assoc($query)) 
    { 
     //add . to = to append string to $link 
     $link .= $row['image_link'] . '<br />'; 
    } 
    mysql_free_result($query); 

    return $link; 
} 
1

内のすべてのリンクをしたい場合は、問題がここに

ようです .= opperatorを使用する必要があります
$link = $row['image_link'] . '<br />'; 

ループの最後では、$ linkはhavですすべての値ではなく最後の値。各リンクを追加するか、各リンクをプッシュする配列を作成する必要があります。

0
$link = $row['image_link'] . '<br />'; 

ループの$ linkの値を上書きしています。その配列にする[]を追加します。

function retrieve_image_link($user_id) 
{ 
    $query = mysql_query("SELECT `image_link` FROM `imgit_images` WHERE user_id = '" . intval($user_id) . "'"); 

    $link = array(); 
    while ($row = mysql_fetch_assoc($query)) 
    { 
    $link[] = $row['image_link'] . '<br />'; 
    } 
    mysql_free_result($query); 

    return $link; 
} 
0

使用=

function retrieve_image_link($user_id) 
{ 
    $query = mysql_query("SELECT `image_link` FROM `imgit_images` WHERE user_id = '" . intval($user_id) . "'"); 

    while ($row = mysql_fetch_assoc($query)) 
    { 
     $link .= $row['image_link'] . '<br />'; 
    } 
    mysql_free_result($query); 

    return $link; 
} 
関連する問題