php
  • mysql
  • arrays
  • hyperlink
  • 2011-12-15 69 views 0 likes 
    0

    我有一個函數,應該返回一個基於用戶ID的鏈接集。該功能暫時是什麼,它返回我只有一個鏈接,而不是一組基於用戶ID的鏈接。功能如下:功能沒有按預期返回數據

    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; 
    } 
    

    所以這是應該讓我多個鏈接,而不是一個代碼。查詢返回字符串而不是數組的問題在哪裏?

    請幫忙!

    +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; 
    } 
    

    或使用.= opperator如果你想在一個大的字符串

    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

    所有環節看來問題就在這裏

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

    在循環結束時,$ link應該有hav e最後的值而不是所有的值。您必須追加每個鏈接或創建一個數組來推送每個鏈接。

    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; 
    } 
    
    相關問題