2011-03-20 85 views
0

我有兩列成員ID和作者ID將數組值轉換爲臨時表

成員A給出了數組格式的作者ID列表。我需要對我的數據庫進行檢查,看看這些作者ID是否已經存在於我的數據庫中,如果他們在場,請將這些作者的成員id鏈接到成員ID爲A.

什麼是有效的方法來做到這一點?建議將作者ID保存到臨時表中並運行檢查並獲取它。數組中作者ID的數量爲幾千。

您能分享一些樣本代碼嗎?我目前使用PHP和MySql。

更新 - 我得到JSON數組與作者ID和名稱的對象如下:

{ 
    "name": "Harold Robinson", 
    "id": "912065" 
    }, 
    { 
    "name": "Gilbert Patten", 
    "id": "1212140" 
    }, 
    { 
    "name": "Leo Tolstoy", 
    "id": "6012954" 
    } 

我對這些數據需要已經稱爲表作者進行比較,如果ID匹配用戶分配給作者ID已被鏈接到用戶A.

表格作者 用戶ID:109876 ID:912065

+2

現在這肯定是一個SQL問題,可能會對子查詢或連接負責。但是,如果您可以顯示數據庫結構或現有示例查詢以進行擴展,則可以更快地得到合適的答案。 – mario 2011-03-20 18:26:34

+2

爲了獲得更高質量的答案,請編寫[更高質量的問題](http://tinyurl.com/so-hints),其中包括完整而簡明的[示例代碼](http://sscce.org/),其中包括SQL語句定義表格並插入示例數據。 – outis 2011-03-20 18:28:16

回答

0

僅供參考,你不會得到一個有用的答案,如果你的問題是不明確的,並與enou gh細節。這只是一個問題,因爲問題不是很清楚,但我會盡我所能瞭解這個問題。隨着您進一步澄清問題,我們可以調整答案。

//Not sure how you are collecting the ids into an array so I will just create one here for show. 
$member_authors = array (1, 2, 3); 
foreach ($member_authors as $authorID) { 
    $query = "SELECT author_id FROM authors WHERE author_id ='" . $authorID . "'"; 
    $result = mysql_query($query); 

    if (mysql_affected_rows() > 0) { //If a value was returned then the author does exist in the database. 
     //Do whatever you want with the authorID. 
    } 
} 

我希望這有助於。