2010-02-01 139 views
1

即時通訊只是將腳本集成到我自己的網站和這個腳本(是有一個聊天功能)內置表情符號,我的網站也有表情符號,但他們的網址存儲在網站MySQL數據庫,從數據庫拉文件到腳本即時集成很容易,但該腳本使用2維數組爲表情符號(如下所示),我不知道如何解析msyql查詢輸出從表情符號我的網站轉換爲腳本需要的數組格式。填充多維數組

我的表情符號表奠定了每本:

id - autogenerated id number 
code - code used to display smilie (eg :)) 
imgsrc - the image to replace above code with 

腳本用於其表情陣列以下:

// Smileys 
$smileys = array( 

':)' => 'smiley', 
':-)' => 'smiley', 
':(' => 'smiley-sad', 
':-(' => 'smiley-sad', 
':D' => 'smiley-lol', 
';-)' => 'smiley-wink', 
';)' => 'smiley-wink', 
':o' => 'smiley-surprise', 
':-o' => 'smiley-surprise', 
'8-)' => 'smiley-cool', 
'8)' => 'smiley-cool', 
':|' => 'smiley-neutral', 
':-|' => 'smiley-neutral', 
":'(" => 'smiley-cry', 
":'-(" => 'smiley-cry', 
":p" => 'smiley-razz', 
":-p" => 'smiley-razz', 
":s" => 'smiley-confuse', 
":-s" => 'smiley-confuse', 
":x" => 'smiley-mad', 
":-x" => 'smiley-mad', 

); 

左邊是代碼和右邊是文件名(腳本追加延長並預先定位本身)

希望這不是出於可能性的領域。

歡呼聲

+0

該數組只有一個維度...請發佈這兩個數組的示例(您的和腳本所期望的)。 – prodigitalson 2010-02-01 16:14:57

+0

哎呀也許只是1D,仍然困惑如何讓MySQL做我想做的事情,雖然 – 2010-02-01 16:25:56

回答

3
$result = mysql_query("SELECT Code, Filename FROM TABLE"); 
$smileys = array(); 
while($temp = mysql_fetch_assoc($result)) 
{ 
    $smileys[$temp['Code']] = $temp['Filename']; 
} 

在「右側」是陣列的關鍵,我們可以通過將變量作爲鍵動態地分配它們。

+0

好,似乎崩潰我的網站相當好,似乎鎖定等待頁面加載..... 代碼即時通訊使用: $ result = mysql_query(「SELECT scode,imgsrc FROM smilies」); $ smileys = array(); while($ temp = mysql_fetch_assoc) { $ smileys [$ temp ['scode']] => $ temp ['imgsrc']; } 表只有1500條記錄,所以不應該花費時間來確定加載它 – 2010-02-01 16:27:05

+1

我錯誤地忘了讓'mysql_fetch_assoc'成爲函數。這可能會導致無限循環。奇怪的是,它並沒有導致錯誤。 – 2010-02-01 16:53:18